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.

APIEndpoints
Purchase OrdersGET, POST, PATCH /purchase-orders, POST /purchase-orders/bulk-upsert/
ReceiptsGET, POST, PATCH /receipts, POST /receipts/bulk-upsert/

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 dimensions on 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_id directly
  • By lookup fields — Provide erp_vendor_id + ottimate_location_id + either po_number or po_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.