Integrations
Payments
How payment milestones are created from a quotation’s terms and reconciled against bank wires, LCs and FIRC/BRC records.
Two separate systems, same word
"Payments" means two different things in TradeEximOS, and they never connect to each other:
Watch out
Razorpay is used only for your own subscription billing. Collecting payment from your buyers on a trade order is a manual, gateway-free process — don't expect a payment link generator here.How the schedule is created
- 1
Written as a clause
The payment schedule starts as free text in the quotation's Payment trade clause — e.g. "30% advance, 70% against BL." - 2
Parsed once, at Finance Confirm
When the order reaches Finance Confirm, that clause is parsed and materialized into Payment Milestone rows — each with a due condition (advance, before shipment, against BL, on delivery, or a custom date). This happens exactly once and is non-destructive: edits you make to milestones afterward are never overwritten by re-parsing.
Recording a receipt
A Payment Record is the actual receipt against a milestone — payment method (telegraphic transfer, LC, documents against acceptance/payment, advance, open account), status (expected, received, verified), amount and currency, plus India-specific bank reference, FIRC and BRC numbers for compliance. Marking one received is a manual action — there is no gateway callback involved.
Two tracks that don't share a foreign key
A job's ownfinancial_status (duty estimated → duty cleared → payment pending → payment received → closed) is derived from that job's own checklist items — duty, RoDTEP, letters of credit — not from Payment Records. They're shown on the same Finance page for convenience, but nothing links them record-for-record.Related
New to recording payments? Start with the guide. For the job-side financial track, see the Export & Import Job Engine doc.