Matching is a method that ensures consistency between documents in order to control that customers do not pay for more than what was received, or that sellers do not ship more than what was confirmed. This is achieved by comparing related documents sent and received on the Tradeshift platform, such as purchase orders and corresponding invoices: If the documents match (e.g. in terms of price, tax and the number of items), they can be approved and processed automatically – known as "straight-through processing" – whereas if the documents do not match, tasks for each document discrepancy are generated and assigned to the relevant user(s), who can then handle the discrepancies.

The two most common kinds of matching are two-way and three-way matching:

  • two-way matching (2WM): matching an invoice (INV) against a purchase order (PO).
  • three-way matching (3WM): matching an invoice (INV) against a purchase order (PO) and a goods receipt (GR).

If there is at least one PO reference in an invoice submitted on Tradeshift (either in the invoice header or in any of the invoice lines), the invoice is subject to matching. The purpose of matching is to

  1. relate the submitted invoice to previous documents
  2. compare all related documents, taking customer settings into account
  3. automatically approve the invoice if it is consistent with the previous documents and the settings
  4. create tasks for manual resolution, approval or rejection of the invoice if the invoice is not consistent with the previous documents and the settings.
If there is no PO reference at either header or line level, the invoice is considered a non-PO invoice, which must go through coding and approval rather than matching.

Document matching is based on two main services, the line-state service and the decision service. Point 1 above is carried out by the line-state service, whereas points 2, 3 and 4 are performed by the decision service.

On Tradeshift, matching is carried out at line level, not at header level. Any document can be related to multiple other documents (e.g. one invoice can refer to multiple orders), and one order line can be related to multiple other documents. However, a line in a document can only belong to one root, i.e. one invoice line can only relate to one order line.