Changelog
This update promotes Purchase Orders and Receipts APIs to beta, adds dimension support on purchase order line items, and introduces flexible PO lookup for receipts.
Purchase Orders & Receipts — Now in Beta
The Purchase Orders and Receipts APIs, previously marked as in-development, are now available in beta. These endpoints support two-way and three-way matching workflows in Ottimate.
See the Purchase Orders and Purchase Receipts guides for full documentation.
New Features
Dimensions on Purchase Order Items
PO line items now support dimension mappings via the dimensions field. Dimensions are keyed by type (e.g., PROJECT, CLASS) with values set to the erp_dimension_id of the dimension. When an invoice is matched to a PO, these dimensions can be inherited onto invoice line items for automatic coding.
- Dimensions must exist in Ottimate before being referenced — either synced via an Ottimate-hosted integration or created via the Dimensions API.
- Providing
dimensionson a line item replaces all existing dimensions on that item.
Custom Fields on Purchase Orders
Purchase orders now support a custom_fields object for company-specific metadata configured during onboarding.
Flexible PO Lookup for Receipts
When creating a receipt, you can now identify the parent PO in two ways:
- By Ottimate ID — Provide
ottimate_po_iddirectly - By lookup fields — Provide
erp_vendor_id+ottimate_location_id+ eitherpo_numberorpo_external_id
Similarly, receipt line items can reference PO items via ottimate_po_item_id or po_external_item_id.
Documentation Updates
- Accounts Payable section restructured — Purchase Orders and Purchase Receipts are now listed as standalone pages following the business process flow: PO → Receipt → Invoice.
- “Non-PO Invoice” renamed to “Invoices” — The invoice guides now cover all invoice types.
- AP Overview updated — Added two-way and three-way matching workflow descriptions.
Migration Notes
No breaking changes. All existing endpoints and request/response schemas remain unchanged.

