PO field mapping basics
A mapping tells ProcuLink which column in your source file corresponds to each standard purchase-order field. You build one mapping per buyer file shape.
This article is the reference for fields and manipulators. To shape the document one supplier receives, step by step, follow map a supplier's purchase-order fields.
Required fields
Every order must resolve these five standard fields:
po_number— the unique order identifier from the buyer.line_no— the line index within the order, starting at 1.item_code— the SKU the supplier recognises.quantity— number of units, as an integer or decimal.unit_price— price per unit, before tax.
Optional fields like delivery date and currency are accepted but never required.
Start from a template or a suggestion
You rarely have to build a mapping from a blank form:
- Starter templates — the PO mapping editor has a one-click "Apply starter template" for common ERP exports (Erply and Directo). Apply one, then adjust the column names to match your real export.
- AI suggestions — given a sample file, ProcuLink can propose a full column-to-field mapping for you to review and correct. (Workspaces configured as no-egress skip this and use the manual editor — see how AI mapping suggestions work.)
Manipulators
When a source column doesn't match the standard shape directly, attach manipulators. All eight:
Trim— drop leading/trailing whitespace introduced by Excel exports.Replace— substitute text, e.g. strip aSUP-prefix from item codes.DateFormat— convert a date between explicit formats, e.g.dd/MM/yyyy→yyyy-MM-dd.Concat— join named source columns with a separator, e.g. builditem_codefromprefix+code.Split— split on a delimiter and keep one piece, e.g. take the part before a/.Fallback— use the first non-empty value among several named columns.Multiply/Divide— scale a numeric value, e.g. convert price-per-100 to unit price.
Manipulators run in order, each transforming the previous result. They're forgiving by design: one that can't apply (a date that doesn't match the input format, a non-numeric value in Multiply) passes the value through unchanged rather than destroying it.
Beyond manipulators: custom expressions (advanced)
For logic a manipulator chain can't express — calculated values like {{ line.Quantity * line.UnitPrice }}, or combining order and line fields — the output mapping editor accepts free-form custom expressions and even a whole-document template. That's the escape hatch for a supplier's exact required structure; most mappings never need it.
Testing a mapping
After saving, upload a real PO file through /upload. Any line that fails to resolve appears in the Review screen as unresolved, with the source row visible so you can adjust the mapping and retry.
Need help? Email support@proculink.eu or see Troubleshooting common parse errors.