Purchase Order Form (Purchase_Order_Form)
Field-by-field reference for the Purchase Order form in Zoho Creator, extracted from the Deluge form definition. This form is the system of record for parts purchasing — every parts order raised against a repair job is captured here, and it is the reference data the Invoice Extraction module matches supplier invoices against.
- Display name: Purchase Order Form
- Success message: "Data Added Successfully!"
- Last documented: 12 June 2026
Form Layout
The form is organised into two sections plus two line-item grids:
- Main section (row 1) — vehicle, claim, supplier, and ordering details
- Line-item grids (rows 2–3) — the parts on the order
- System section (row 4) — status tracking, PO numbering, and links into the parts workflow
Main Section — Order Details
| Field | Type | Source / Values | Notes |
|---|---|---|---|
File_Number | Picklist (lookup) | Claim_Form.ID, displays [File_Number] | Links the PO to the claim. Sorted ascending. |
Registration | Text | Free text | Vehicle rego. Key matching field for invoice extraction (see below). |
VIN_No | Text | Free text | Vehicle identification number. APG invoices print VIN rather than rego. |
Make | Text | Free text | Vehicle make. |
Model | Text | Free text | Vehicle model. |
Ordered_By | Picklist (lookup) | User.ID, displays full name (prefix + first + last + suffix) | Staff member who raised the order. |
Date_Ordered | Date | All days allowed | Mandatory (must have). |
Supplier_Name | Picklist (lookup) | Suppliers.ID, displays [Supplier_Name] | The canonical supplier list lives in the Suppliers form — this is the master data that invoice supplier-name matching resolves against. |
Purchase_Order_No_I_Body | Text | Free text | "Purchase Order No. (I-Body)" — the iBody purchase number. This is the order reference suppliers print on their invoices, and the primary key for invoice-to-PO matching. |
Line-Item Grids
The form carries two line-item grids, both bidirectional (child records link back to this PO):
| Field | Type | Child Form | Notes |
|---|---|---|---|
Order_Line_Items_Parts_Order | Grid (subform) | Parts_Order | Display name "Order Line Items". |
Order_Line_Items | Grid (subform) | Order_Line_Items | Display name "Order Line Items" — same label as the grid above. |
:::caution Two grids, one label
Both grids display as "Order Line Items" in the UI. Order_Line_Items is the current structure — it is the subform embedded in the Order Parts form, introduced when line items became separate records (previously part descriptions lived in a single free-text Description field). Order_Line_Items_Parts_Order (backed by Parts_Order) is the pre-existing structure. Code that reads PO line items — including the invoice extraction matching logic — should query Order_Line_Items.
:::
System Section
| Field | Type | Source / Values | Notes |
|---|---|---|---|
Total_Value | Decimal | — | Total value of the order. Comparison target for the extracted invoice total. |
Auto_Number | Autonumber | Starts at 1 | Internal sequence. |
Order_Status | Picklist | Pending → Ordered → Arrived | Initial value Pending. Max 100 chars. |
Parts_to_be_ordered_for | Picklist | Claim, Fleet Vehicle, Private Job | Job type — not all POs belong to an insurance claim. |
Date_Arrived | Date | All days allowed | Set when parts are received. |
PO_Number | Text | Free text | Internal PO number (distinct from the iBody number). |
Rego_PO_Number | Text | Free text | Combined rego + PO reference. |
Parts_Approved_to_Order | Picklist (lookup) | Parts_Approved_to_Order.ID, displays [ID] | Link into the parts approval workflow. |
Order_Parts | Picklist (lookup) | Order_Parts.ID, displays [ID] | Link into the parts ordering workflow. |
Request_Parts | Picklist (lookup) | Request_Parts.ID, displays [ID] | Link into the parts request workflow. |
Actions
| Event | Buttons |
|---|---|
| On add | Submit |
| On edit | Update, Cancel |
Three PO-Number Fields — Which Is Which
The form has three distinct purchase-order references. Don't conflate them:
| Field | Meaning | Printed on supplier invoices? |
|---|---|---|
Purchase_Order_No_I_Body | The iBody purchase number given to the supplier when ordering | Yes — this is the "Order No" / "P/O Number" / "Customer Po" that appears on invoices |
PO_Number | Internal PO number | No |
Rego_PO_Number | Combined rego + PO reference for internal lookup | No |
Relevance to Invoice Extraction
The invoice extraction module (Claude Vision) extracts fields from scanned supplier invoices and matches them against this form. The mapping:
| Extracted invoice field | PO form field | Match approach |
|---|---|---|
po_number (e.g. APG "Order No") | Purchase_Order_No_I_Body | Exact / normalised string match — primary key |
vehicle_id (Rego or VIN depending on supplier) | Registration or VIN_No | Exact match after normalisation (case, spaces). APG prints VIN; most others print rego. |
supplier_name | Supplier_Name → Suppliers form | Fuzzy / alias matching — invoice letterheads vary from the canonical name in Suppliers |
invoice_total / sub_total | Total_Value | Tolerance comparison (GST handling: Total_Value vs invoice ex-GST subtotal needs confirming) |
line_items[] (description, qty, cost) | Order_Line_Items grid records | Count, description similarity, and unit-cost comparison per line |
Open questions
- Which of the two line-item grids is authoritative for new POs (assumed:
Order_Line_Items)? - Is
Total_Valueinclusive or exclusive of GST? - Is
Purchase_Order_No_I_Bodyreliably populated on every PO, or only for iBody-sourced orders?