Table of Contents

Document Linking – RFQ → Quote → PO → POC

Important

Read this page before using the individual field tables. Getting the linking fields wrong is the most common reason a Quote does not connect to its RFQ, or a PO appears as a Direct PO with no Quote attached.

Overview

The ForSea platform chains four documents together to form a complete procurement cycle:

Stage Document Sent by
1 RFQ – Request For Quote Buyer
2 Quote – Supplier quotation Supplier
3 PO – Purchase Order Buyer
4 POC – Purchase Order Confirmation Supplier

For the platform to recognise these documents as one chain, each document must carry specific reference qualifiers that point back to the previous document.


The linking chain

flowchart LR
    A([RFQ]) -->|AGI = RFQ controlReference| B([Quote])
    B -->|AAG = Quote number e.g. Quote:XXXXX_XXXX| C([PO])
    C -->|ON = PO controlReference| D([POC])

The three linking qualifiers

Qualifier Used in What to set as the value Common mistake
AGI Quote interchange.controlReference from the RFQ you received Using the RFQ messageNumber or UC instead of the controlReference
AAG PO The supplier's quotation number as it appears in the Quote payload — e.g. Quote:26021613490115_8128 Leaving AAG empty (the PO is then treated as a Direct PO with no linked Quote)
ON POC only interchange.controlReference from the PO you received Putting ON inside the PO payload — ON is invalid in a PO and will be rejected
Warning

ON is NOT valid inside a PO. Do not add an ON reference to the PO payload. ON belongs only in POC (Order Confirmation) and Order Response messages.

Tip

AGI uses the raw controlReference string, not the messageNumber. The controlReference is the long unique string in the interchange envelope (e.g. 7683432350524220260406125500). The messageNumber is the shorter human-readable ID (e.g. 060426A00001). They are different fields.


UC – the human-readable number

UC is present in every stage. It carries the human-readable document number for that stage and is displayed in the ForSea UI. It is NOT the linking key — the linking is done by AGI / AAG / ON.

Stage What UC contains
RFQ Buyer's RFQ number (e.g. 060426A00001)
Quote Supplier's own quote reference (e.g. QN270524-1)
PO Buyer's Purchase Order number (e.g. 190326V00001)
POC Same PO number echoed back from the PO

One-line rules

  • RFQ → Quote: set AGI = RFQ.interchange.controlReference and UC = your own Quote reference
  • Quote → PO: set AAG = the supplier's quotation number from the Quote payload (e.g. Quote:XXXXX_XXXX) and UC = Buyer's PO number
  • PO → POC: set ON = PO.interchange.controlReference and UC = same PO number as in the PO

Party qualifiers per stage

Qualifier Role RFQ Quote PO POC
BY Buyer company
BA Buyer agent / billing
VN Vendor (Supplier)
CN Consignee
IV Invoice-to party
UD Vessel
Note

The Quote does NOT include a BY (Buyer) party. The PO does NOT include a BA (Buyer Agent) party. Sending the wrong party qualifiers for a stage will cause a validation error.


Troubleshooting

Warning

Quote appears as a Direct Quote (not linked to any RFQ) Check that the Quote reference array contains an AGI entry and that its referenceNumber matches the RFQ interchange.controlReference exactly — same casing, full string, no truncation. UC alone does not create the link. AGI is the hard key.

Warning

PO appears as a Direct PO (not linked to any Quote) Check that the PO reference array has an AAG entry whose referenceNumber equals the supplier's quotation number as it appeared in the Quote payload (e.g. Quote:26021613490115_8128). Also confirm that ON is NOT present in the PO payload.

Warning

POC is not linking back to the PO Check that the POC reference array contains an ON entry and that its referenceNumber equals the PO interchange.controlReference exactly. Do not confuse the PO controlReference with the POC's own controlReference — they are different.


See also: RFQ Field Table · Quote Field Table · PO Field Table · POC Field Table