Overview
ICL Cotizaciones maintains two pricing tables that drive automated rate suggestions and cost calculations:- Pricing Netos (Net Pricing): Comprehensive rate table for FCL containers and LCL by destination
- Tarifario Puertos Base (Base Port Rates): Volume-based LCL rates by port of loading
Pricing Netos (Net Pricing)
Overview
The unifiedpricing_netos table stores net freight rates for both FCL containers and LCL shipments, with automatic calculation of derived values.
Container Types
LCL
Less than Container Load - charged per cubic meter
20'
20-foot container
40'
40-foot container
40'HQ
40-foot High Cube
Creating a Net Rate
Select destination
- Region: Select from Via locations (e.g., “Asia”, “Europe”)
- Country: Auto-filtered based on selected region
- Port: Auto-filtered Via locations in selected country
Enter base rates
- Flete Neto (Freight Net): Base freight cost (required)
- First Leg: Additional first leg charge (optional)
- Rebate: Discount or surcharge (optional)
Review calculated values
The system automatically computes:
- Net Container:
Freight Net + (First Leg × 50) - Net M³: Depends on container type:
- LCL:
Net Container / 50 - 20’:
Net Container / 50 - 2 - 40’:
Net Container / 50 - 4 - 40’HQ:
Net Container / 50 - 4
- LCL:
- Net Total:
Net M³ + Rebate
Pricing Calculation Logic
Pricing Netos Display
Rates are grouped by Region with columns:- Region / Country / Port: Destination location hierarchy
- Tipo: Container type badge
- Moneda: Currency
- Flete Neto: Base freight cost
- First Leg: Additional leg charge
- Net Container: Calculated container cost
- Net M³: Per cubic meter rate
- Rebate: Discount/surcharge
- Net Total: Final calculated rate
- Vigencia: Validity period (Desde → Hasta)
Actions
- Export: Download pricing table as CSV/Excel
- Filter: Search by region, country, port, or type
- Edit: Modify rate (updates computed values automatically)
- Delete: Remove rate (admin only)
Tarifario Puertos Base (Base Port Rates)
Overview
Volume-based LCL freight rates by port of loading. These rates auto-suggest net freight costs when creating LCL quotations.Rate Tier Structure
Each port has four volume tiers:0-3 CBM
rate_0_3_cbm: For shipments up to 3 cubic meters
3-5 CBM
rate_3_5_cbm: For shipments between 3 and 5 cubic meters
5-10 CBM
rate_5_10_cbm: For shipments between 5 and 10 cubic meters
10-15 CBM
rate_10_15_cbm: For shipments over 10 cubic meters
Creating a Port Rate
Enter volume-based rates
- Rate 0-3 CBM: Rate for smallest volumes
- Rate 3-5 CBM: Mid-low volume rate
- Rate 5-10 CBM: Mid-high volume rate
- Rate 10-15 CBM: Largest volume rate
Configure additional fields
- GRI: General Rate Increase reference
- Minimum: Minimum charge
- Via: Routing via port
- Moneda: Currency (ARS, USD, EUR)
- Transit Time: Estimated shipping duration
Auto-Suggestion in Quotations
When creating an LCL quotation, the system:- Monitors changes to Via (destination) and CBM Reales fields
- Matches selected Via location name with
port_of_loadingin Port Rates table - Selects rate tier based on CBM Reales:
- ≤ 3 CBM →
rate_0_3_cbm - 3-5 CBM →
rate_3_5_cbm - 5-10 CBM →
rate_5_10_cbm -
10 CBM →
rate_10_15_cbm
- ≤ 3 CBM →
- Auto-fills Flete Neto field (new quotes) or shows hint (edit mode)
Auto-suggestion only applies to LCL load type. FCL quotations require manual rate entry or reference to Pricing Netos.
Display Format
Base port rates appear in a table grouped by region:- Region / Country / Port: Location hierarchy
- Rate Tiers: 0-3, 3-5, 5-10, 10-15 CBM columns
- GRI: Rate increase reference
- Min: Minimum charge
- Via: Routing
- Moneda: Currency
- Transit Time: Shipping duration
- Vigencia: Validity dates
Data Model Reference
Pricing Netos Schema
Frompricing_netos table (src/db/schema.ts:133-150):
Port Rates Schema
Fromport_rates table (src/db/schema.ts:152-170):
API Endpoints
Pricing Netos
GET /api/pricing-netos- List all net ratesPOST /api/pricing-netos- Create rate (admin only, server computes derived values)PUT /api/pricing-netos/[id]- Update rate (admin only)DELETE /api/pricing-netos/[id]- Delete rate (admin only)
Port Rates
GET /api/tarifario-puertos-base- List all port ratesPOST /api/tarifario-puertos-base- Create port rate (admin only)PUT /api/tarifario-puertos-base/[id]- Update port rate (admin only)DELETE /api/tarifario-puertos-base/[id]- Delete port rate (admin only)
Access Control
| Operation | Admin | Commercial User |
|---|---|---|
| View pricing tables | ✓ | ✓ (read-only) |
| Create rates | ✓ | ✗ (403) |
| Edit rates | ✓ | ✗ (403) |
| Delete rates | ✓ | ✗ (403) |
| Export pricing | ✓ | ✓ |
| Use auto-suggest | ✓ | ✓ |
Best Practices
Rate Validity
- Set clear validity periods for all rates
- Update rates before expiration to avoid gaps
- Archive expired rates rather than deleting (future feature)
Volume Tiers
Ensure progressive volume discounts:
rate_0_3_cbm≥rate_3_5_cbm≥rate_5_10_cbm≥rate_10_15_cbm
Currency Management
- Match pricing currency to commercial agreements
- Maintain parallel USD and EUR rates for key destinations
- Document exchange rate basis in notes
Location Consistency
Use exact location names from the Locations master table to enable auto-matching with quotation Via field.
Bulk Import (Future Enhancement)
Planned features:- CSV/Excel upload for bulk rate updates
- Rate version history and rollback
- Automated expiration notifications
- Multi-currency conversion matrix