Interacid Trading S.A
Sulfuric Acid Drop Ship Trading Operations
Document Status
This Practice Book describes how Interacid Trading S.A will run sulfuric acid drop-ship transactions in Tradon. It is written as a target operating manual: the Trader, Back-office, Operations and Finance teams should be able to follow the lifecycle from master data and contract entry through budgeted costs, shipment execution, lot creation, matching, pricing and settlement.
The scope deliberately excludes futures hedging and FX hedging. Interacid's activity is treated as USD-denominated physical trading. Pricing covers mostly Priced contracts and selected Basis contracts, with Argus as the principal market reference. The public Interacid service positioning emphasizes global sulfuric acid trading, shipping/logistics capability, terminal services, safety and reliability; those themes are reflected in the operating controls in this book.
Contents
- 1. Fundamentals and glossary
- 2. Master data setup
- 3. Purchase contract entry
- 4. Sale contract entry
- 5. Costs: budgeted, ordered and lot-specific
- 6. Drop-ship shipment execution
- 7. Physical lots and matching
- 8. Pricing and concentration adjustment
- 9. Scenario 1 - One purchase matched to one sale
- 10. Scenario 2 - One purchase matched to three sales
- 11. Appendix - models and tables
1. Fundamentals and Glossary
Operating principles
Interacid will use Tradon to control physical sulfuric acid trading from contract capture to final settlement. The core business pattern is Drop Ship: the purchase and sale are commercially matched, and the product moves directly from supplier/loading point to customer/destination without an Interacid warehouse storage step.
Each physical flow will be represented by a purchase contract, a sale contract, one or more shipment records, and physical lots that carry executed quantity, cost allocation, invoice status and matching status. The default contract tolerance is 5% unless a customer, supplier or specific contract requires another tolerance.
Key term mapping
| Business term | Tradon term / model | Use in this book |
|---|---|---|
| Purchase contract | purchase.purchase | Supplier-side commercial contract. |
| Sale contract | sale.sale | Customer-side commercial contract. |
| Open lot | lot.lot | Planned quantity used for matching. |
| Physical lot | lot.lot | Executed quantity used for matching, costing and invoicing. |
| Lot quantity state | lot.qt | Open, physical, matched or shipped quantity status used by matching screens. |
| Shipment | stock.shipment.in | Operational record for shipment milestones, BL data, costs and lots. |
| Budgeted/ordered/actual cost | fee.fee | Cost entered first as budgeted at contract level, then ordered at shipment level and inherited on all linked physical lots. Specific costs can be directly assigned to physical lots. |
| Price curve | price.price | Argus index or other market reference used by Basis/formula pricing. |
2. Master Data Setup
Party defaults and price curves
Before entering the trade, Back-office will make sure the supplier, customer, service providers and Argus curves exist. Party defaults reduce repeated entry on contracts and enforce Interacid's default tolerance discipline.
Party screen - General tab
In Tradon, any company, contact, entity or person is a Party. This screen allows you to manage default values for various attributes. These defaults are used when creating contracts and other documents.
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Name | Yes | Name of the party. |
| 2 | Code | Yes | Unique code for the party (By default, it is auto-generated). |
| 3 | Party Name | No | Long name for the party. |
| 4 | Building Name | No | Self-explanatory. |
| 5 | Street | No | Self-explanatory. |
| 6 | Postal Code | No | Self-explanatory. |
| 7 | City | No | Self-explanatory. |
| 8 | Country | Yes | Self-explanatory. |
| 9 | Subdivision | No | Self-explanatory. |
| 10 | Categories | Yes | A party can belong to one or more categories. A supplier should be assigned to the appropriate supplier category (same principle applies to customers, brokers...). |
Party screen - Contract tab
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Tol - in % | No | Default negative tolerance for contracts with the party. For Interacid sulfuric acid trading, enter 5 when the commercial relationship accepts +/-5% tolerance. |
| 2 | Tol + in % | No | Default positive tolerance. It should normally mirror the negative tolerance unless a supplier/customer agreement says otherwise. |
| 3 | Weight basis | No | Default commercial weight basis for the party, used when creating purchase or sale contracts. |
| 4 | Association | No | Default trade rule or association reference. Use only when the commercial terms require it. |
| 5 | Origin | No | Default product/geographic origin for documentation. For sulfuric acid, this should reflect the supplier or plant origin where relevant. |
Price curve screen - Argus reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Price index | Yes | Short index code used in pricing components. Example: ARGUS_SA_USD_MT or the final Interacid-approved Argus index naming convention. |
| 2 | Description | Yes | Human-readable description of the Argus sulfuric acid reference. |
| 3 | Index type | No | Set to Spot or Future depending on the Argus source used. For regular physical sulfuric acid pricing, Spot will usually be sufficient unless monthly/future periods are configured. |
| 4 | Unit | No | Commercial unit for the quotation, normally metric ton. |
| 5 | Currency | No | Enter USD. All Interacid activity in this scope is USD-denominated. |
| 6 | Calendar | No | Quotation calendar controlling valid price dates. |
| 7 | Prices Values | No | Daily or period values imported or keyed for Argus. Basis contracts and formula-priced lines will read these values. |
3. Purchase Contract Entry
The Trader or Back-office will create the purchase contract first. For drop ship, the purchase location and sale destination must be entered carefully because they drive matching, shipment, cost allocation and reporting.
- Open the purchase contract screen and click New.
- Enter the supplier, purchase date, currency USD, payment term and commercial reference.
- Enter the Interacid trade fields listed below.
- Add one purchase line for sulfuric acid, including quantity, tolerance, price type and concentration if concentration adjustment applies.
- Enter the budgeted costs on the purchase line or contract cost tab before shipment execution.
- Click Save, then follow the normal approval/confirmation process.
Purchase contract header field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Weight basis | Yes | Commercial weight basis used for the sulfuric acid quantity. Back-office confirms the value from the supplier contract. |
| 2 | Certification | Yes | Certification attached to the physical contract if required for product documentation. Use the default if no special certificate is agreed. |
| 3 | Operator | No | Operations owner who will follow the shipment and physical lot execution. |
| 4 | Trader | No | Commercial owner of the purchase. This is used for internal follow-up and P&L ownership. |
| 5 | Our Reference | No | Interacid internal reference. Example: ITSA-SA-P-0001. |
| 6 | Tol - in % / Tol + in % | Yes | Enter 5 and 5 by default unless the supplier contract specifies another tolerance. |
| 7 | From location | Yes | Supplier loading location or origin terminal. |
| 8 | To location | Yes | Customer destination or discharge point. For drop ship, this should align with the sale contract destination. |
| 9 | Incoterm / Incoterm Location | Inherited | Commercial delivery rule and named place, copied from the supplier agreement. |
| 10 | Origin | No | Origin statement used for contract documentation and product traceability. |
Purchase line field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Product | Base | Select the sulfuric acid product configured in Tradon. |
| 2 | Quantity / Unit | Base | Enter the contractual quantity in metric tons. Physical lots will later carry the executed quantity. |
| 3 | Price type | No | Select Priced for fixed USD price. Select Basis when the line references Argus plus/minus a differential. |
| 4 | Premium/Discount | No | Used for basis or differential pricing. Example: Argus + 2.50 USD/MT. |
| 5 | Concentration | No | Enter contractual concentration when price must be adjusted by sulfuric acid concentration. |
| 6 | Inherit tolerance | No | Leave checked for the default 5% contract tolerance. Untick only when the line has its own tolerance. |
| 7 | Fees | No | Enter budgeted costs at contract level before shipment. These will later be ordered at shipment level and allocated to lots. |
| 8 | Pricing / Components | No | For Basis contracts, add the Argus curve component and period rules. For Priced contracts, this tab may be minimal. |
4. Sale Contract Entry
The sale contract represents the customer side of the drop-ship transaction. In the regular scenario it will match one purchase. In the split scenario, three sale contracts will be matched against the same purchase physical quantity.
- Create the sale contract from the sale menu or from the commercial workflow agreed with Trading.
- Enter the customer, USD currency, payment term and Incoterm.
- Use the same destination logic as the purchase contract so the drop-ship route is consistent.
- Add the sale line with sulfuric acid quantity, price type and concentration assumptions.
- Save and confirm the sale contract before lot matching.
Sale contract header field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Weight basis | Yes | Weight basis agreed with customer. |
| 2 | Agent / Operator / Trader | No | Commercial and execution owners. Fill when ownership must be visible in reporting. |
| 3 | Our Reference | No | Interacid sale reference. Example: ITSA-SA-S-0001. |
| 4 | Tol - in % / Tol + in % | Yes | Enter 5 and 5 unless the customer contract says otherwise. |
| 5 | From location | Yes | Drop-ship loading/origin location, aligned with the purchase when possible. |
| 6 | To location | Yes | Customer discharge/destination location. This replaces the base warehouse display in the sale form. |
| 7 | Incoterm / Incoterm Location | Inherited | Customer delivery term and named place. |
| 8 | Required documents | No | Document checklist for customer execution when a template is used. |
Sale line field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Quantity / Unit | Base | Customer contractual quantity. In the three-sales scenario, enter each sale quantity separately. |
| 2 | Price type | No | Usually Priced; use Basis where the customer price references Argus plus/minus a differential. |
| 3 | Premium/Discount | No | Basis adjustment or commercial differential. |
| 4 | Concentration | No | Customer-side concentration assumption where price adjustment applies. |
| 5 | Lots | After matching | Displays lots allocated/matched to the sale after the matching wizard is completed. |
| 6 | Fees | No | Use when sale-side costs or recoveries must be attached to the sale line. |
| 7 | Pricing rule | No | Free-text explanation shown on reports for Basis or formula-priced customer lines. |
5. Costs: Budgeted, Ordered and Lot-Specific
Interacid will control costs in three steps. First, Trading or Back-office enters budgeted costs at contract level. Second, Operations creates or updates ordered costs at shipment level when the service is committed. Third, final or specific costs are allocated to the physical lots contained in the shipment.
Freight budget = 80.00 USD/MT x 10,000 MT = 800,000.00 USD
Ordered freight = 82.50 USD/MT x 10,000 MT = 825,000.00 USD
Difference to monitor = 25,000.00 USD unfavorable
Fee screen field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Type | Yes | Select Budgeted at contract level, Ordered at shipment level and Actual when final invoice information is known. |
| 2 | P/R | Yes | Pay/receive indicator. Freight, inspection and service costs are normally PAY. |
| 3 | Product | Yes | Service product, such as Maritime freight, inspection, terminal service, demurrage or other configured cost type. |
| 4 | Supplier | Yes | Service provider or vendor responsible for the cost. |
| 5 | Mode | Yes | Calculation mode: lump sum, per quantity, percentage of price/rate/cost, or per packing. |
| 6 | Price | No | Rate or amount according to mode. For freight per metric ton, enter the USD/MT rate. |
| 7 | Quantity / Unit | No | Quantity used to calculate the amount. It can be inherited from lots or shipment depending on setup. |
| 8 | Lots | No | Specific physical lots receiving the cost. Use this when a cost applies only to part of the shipment. |
| 9 | Amount | Computed | Calculated amount used for accrual, invoice checking and P&L. |
6. Drop-Ship Shipment Execution
For Interacid's drop-ship process, the shipment record is the operational bridge between the purchase, the sale and the physical lots. Operations will maintain carrier, vessel, BL, ETA, booking, receipt and control information.
- From Lots Management, select open purchase/sale quantities to ship.
- Create or open the shipment record.
- Enter carrier, transport type, vessel, cargo mode, BL details and logistics dates.
- Convert budgeted costs into ordered shipment costs where service commitments are known.
- Create physical lots for the shipment once quantities are known.
Inbound/drop-ship shipment field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Carrier | No | Carrier party or logistics provider responsible for movement. |
| 2 | From location | No | Loading point/origin terminal. |
| 3 | To location | No | Customer destination/discharge point. |
| 4 | Transport type | No | Select vessel, truck or other. Sulfuric acid seaborne movements will generally use vessel. |
| 5 | Vessel | No | Vessel master record when applicable. |
| 6 | Cargo Mode | Yes | Select bulk or container. Sulfuric acid is expected to be bulk unless a specific containerized flow is confirmed. |
| 7 | BL number / BL date | No | Bill of lading reference and date. These drive pricing and invoicing milestones where contract terms depend on BL. |
| 8 | ETA / ETD / Arrival | No | Operational milestone dates used by Operations to track shipment status and by Back-office for expected invoicing. |
| 9 | Fees | No | Ordered freight and logistics costs attached to the shipment. |
| 10 | Lots | After lot creation | Shipment lot quantities created from the open contract quantities. |
7. Physical Lots and Matching
Create physical lots
Physical lots are created when shipment quantities are known. They are the operational unit used to allocate ordered costs, match purchase to sale and support invoicing.
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Quantity available | Read-only | Open quantity available to split into physical lots. |
| 2 | Shipment In / Internal / Out | No | Shipment source selected by the workflow. For drop ship, use the relevant shipment carrying the direct movement. |
| 3 | Lot quantity | No | Quantity to create for each physical lot. In the three-sales scenario, create lot quantities aligned with the sale splits. |
| 4 | Net weight / Gross weight | No | Executed lot weights. Use net weight for commercial valuation unless the contract specifies otherwise. |
| 5 | Unit | Yes | Commercial unit, normally metric ton. |
| 6 | Premium | No | Lot-specific premium or discount if commercial terms differ by lot. |
Match purchase and sale lots
The matching wizard links purchase-side quantities to sale-side quantities. The total quantity entered on the purchase side should equal the total quantity entered on the sale side before the user applies matching.
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Purchase | No | Filter purchase candidates to the contract being matched. |
| 2 | Sale | No | Filter sale candidates to one sale contract, or leave filters broader when matching one purchase to several sales. |
| 3 | Qt type | No | Use Open for open contract quantities, Physic for physical lots or All for broad review. |
| 4 | Purchase lot table | Computed | Shows available purchase lots and quantities. |
| 5 | Qt to match | No | Quantity entered by Operations or Back-office for each purchase and sale candidate. |
| 6 | Sale lot table | Computed | Shows sale-side candidates. In the split scenario, enter quantities against three sale rows. |
| 7 | Total purchase / Total sale | Computed | Control totals. Apply matching only when totals agree within accepted tolerance. |
8. Pricing and Concentration Adjustment
Most Interacid sulfuric acid contracts will be Priced, but Basis pricing is also in scope. Basis lines use a pricing component linked to an Argus price curve and a premium/discount. Where agreed, the final price can be adjusted according to concentration.
Final price = Argus reference + premium/discount
Final price = 95.00 USD/MT + 2.50 USD/MT = 97.50 USD/MT
Adjusted price = Contract price x Actual concentration / Contract concentration
Adjusted price = 100.00 x 98.5 / 98.0 = 100.51 USD/MT
[@vendor: confirm final Interacid concentration adjustment formula and rounding rule]
Pricing component field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Price Source | Yes | Select Curve when pricing from Argus. Select Matrix only if a configured route/quality matrix is used. |
| 2 | Fixation type | No | Reference fixation type for the curve, for example official quotation or settlement. |
| 3 | Ratio | No | Component weighting percentage. Use 100% for a single Argus reference unless the contract specifies a blend. |
| 4 | Curve | No | Select the approved Argus sulfuric acid price curve. |
| 5 | Calendar | No | Quotation calendar used to decide valid pricing dates. |
| 6 | Period rules | No | Rules that define pricing and application windows, such as dates before BL or a monthly quotation window. |
Pricing record field reference
| # | Attribute | Required | Operational description |
|---|---|---|---|
| 1 | Date | No | Quotation or fixing date. |
| 2 | Component | No | Price component being fixed. |
| 3 | Qt | No | Quantity fixed on the date. |
| 4 | Settl. price | No | Argus or final settlement price for the date. |
| 5 | Fixed qt price | Computed | Weighted average price for fixed quantities. |
| 6 | Unfixed qt | Computed | Remaining quantity still to be priced. |
9. Worked Scenario 1 - One Purchase Matched with One Sale
| Step | Actor | Expected result |
|---|---|---|
| Create purchase contract | Trader / Back-office | One USD purchase contract for sulfuric acid, 5% tolerance, supplier route and budgeted costs. |
| Create sale contract | Trader / Back-office | One USD sale contract with matching product, route, quantity and price type. |
| Create drop-ship shipment | Operations | Shipment contains carrier/vessel or logistics reference, BL data, ETA and ordered costs. |
| Create physical lot | Operations | One physical lot carries the executed shipment quantity. |
| Apply matching | Back-office | Purchase lot quantity equals sale lot quantity and both are linked. |
| Allocate costs to lot | Back-office / Finance | Ordered freight and services are allocated to the physical lot for P&L and invoice control. |
| Finalize pricing and invoicing | Finance | Priced line invoices directly; Basis line uses Argus pricing records and concentration adjustment if applicable. |
10. Worked Scenario 2 - One Purchase Matched with Three Sales
In this variant, one purchase shipment is commercially allocated to three customer sale contracts. Operations creates physical lots or lot quantities that match the commercial split, then Back-office matches the purchase quantity against the three sale quantities.
| Step | Actor | Expected result |
|---|---|---|
| Create one purchase contract | Trader / Back-office | Purchase quantity covers the combined expected sale quantities plus tolerance. |
| Create three sale contracts | Trader / Back-office | Each sale contract has its own customer, price, delivery terms and quantity. |
| Create shipment | Operations | Shipment represents the full purchase movement. |
| Split physical lots | Operations | Physical lot rows are created to mirror the three sale quantities, or one lot is matched in three quantities depending on operational choice. |
| Apply matching | Back-office | The purchase total equals the combined total of the three sale rows. |
| Allocate costs | Back-office / Finance | Shipment costs are allocated to the specific physical lots so each sale carries its correct cost share. |
| Invoice each sale | Finance | Each customer invoice reflects its matched lot quantity, price type and any concentration adjustment. |
Purchase lot = 30,000 MT
Sale A = 10,000 MT, Sale B = 8,000 MT, Sale C = 12,000 MT
Matching control = 10,000 + 8,000 + 12,000 = 30,000 MT
11. Appendix - Models and Tables
Primary models used by this book
| Screen / function | Tryton model | PostgreSQL table | Role |
|---|---|---|---|
| Purchase contract | purchase.purchase | purchase_purchase | Supplier-side contract header. |
| Purchase line | purchase.line | purchase_line | Supplier product, quantity, price and cost line. |
| Sale contract | sale.sale | sale_sale | Customer-side contract header. |
| Sale line | sale.line | sale_line | Customer product, quantity, price and cost line. |
| Shipment | stock.shipment.in | stock_shipment_in | Drop-ship execution, BL, dates, fees and lots. |
| Physical lot | lot.lot | lot_lot | Executed physical quantity used for matching and costing. |
| Lot quantity | lot.qt | lot_qt | Available, physical, matched and shipment quantity state. |
| Matching wizard | lot.matching.start | Transient | Matches purchase quantities to sale quantities. |
| Add physical lots wizard | lot.add.lot | Transient | Splits available shipment quantity into physical lots. |
| Fees | fee.fee | fee_fee | Budgeted, ordered and actual costs. |
| Fee allocation | fee.lots | fee_lots | Fee-to-lot allocation. |
| Pricing component | pricing.component | pricing_component | Argus curve or matrix component for Basis pricing. |
| Pricing fixing | pricing.pricing | pricing_pricing | Pricing/fixing values by date and quantity. |
| Price curve | price.price | price_price | Argus market index master data. |
| Price value | price.price_value | price_price_value | Curve quotation values. |
| Party | party.party | party_party | Customer, supplier and service provider master data. |