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.


Changelog

This update introduces Purchase Orders, Receipts, and Batch processing endpoints, adds bulk operations across several existing APIs, and establishes availability status tags across the API Reference.

New APIs (In Development)

The following APIs are currently in development and being tested. They are documented here for planning purposes and are not yet available for use. Availability will be announced in a future changelog entry.

Purchase Orders

Full CRUD for purchase orders, enabling two-way and three-way matching workflows in Ottimate.

EndpointDescription
GET /purchase-ordersList purchase orders with filtering and pagination
GET /purchase-orders/{id}Retrieve a specific purchase order
POST /purchase-ordersCreate a new purchase order
PATCH /purchase-orders/{id}Update an existing purchase order
POST /purchase-orders/bulk-upsert/Create or update multiple purchase orders in a single request

Receipts

Manage purchase receipts to support goods-received workflows and three-way matching.

EndpointDescription
GET /receiptsList receipts with filtering and pagination
GET /receipts/{id}Retrieve a specific receipt
POST /receiptsCreate a new receipt
PATCH /receipts/{id}Update an existing receipt
POST /receipts/bulk-upsert/Create or update multiple receipts in a single request

Batch Processing

Track the progress and results of long-running bulk operations.

EndpointDescription
GET /batch/{id}/progressPoll the completion status of a batch job
GET /batch/{id}/resultsRetrieve the results once a batch job completes

New Bulk Endpoints (In Development)

Bulk operations added to existing APIs for high-volume integrations. These are currently in development and being tested. They accept arrays of records and return per-item success/error results.

EndpointDescription
POST /catalog/entries/bulkCreate or update catalog entries in bulk
POST /catalog/allowances/bulkCreate or update catalog allowances in bulk
POST /catalog/prices/bulkCreate or update catalog prices in bulk
POST /dimensions/bulk-create/Create multiple dimensions in a single request
POST /vendors/bulk-create/Create or update multiple vendors in a single request

Documentation Updates

Availability Status Tags

All endpoints in the API Reference now display a status badge indicating their maturity level. See Release Plan for full definitions.

  • Beta — All previously released endpoints (Accounts, Catalog, Dimensions, Invoices, OAuth, Vendors) are now tagged as beta, reflecting that they are functional and available for integration but may receive minor changes before GA.
  • In Development — New endpoints introduced in this release are tagged as in-development and are not yet available for use.

Migration Notes

No breaking changes. All existing endpoints and request/response schemas remain unchanged. If you are already integrated with V1.0.0, no action is required.


Release: V1.0.0

Changelog

In this release we’ve added endpoints to ease integration with ottimate.

What’s new?

Accounting Vendors Management

New endpoints for managing accounting vendors:

  • Get Vendors

    • GET /vendors - Retrieve paginated list of Accounting Vendors
  • Get Vendor Details

    • GET /vendors/:id - Get details of a specific Accounting Vendor by ID
  • Create Vendors

    • POST /vendors/ - Create a single Accounting Vendor
    • POST /vendors/bulk-create/ - Create or update multiple Accounting Vendors in bulk

Dimension Management

New endpoints for managing dimensions:

  • Get Dimensions

    • GET /dimensions - Retrieve paginated list of Dimensions
  • Get Dimension Details

    • GET /dimensions/:id - Get details of a specific Dimension by ID

Invoice Management

New endpoints for managing invoices:

  • Get Invoices

    • GET /invoices - Retrieve paginated list of invoices
  • Get Invoice Details

    • GET /invoices/:id - Get details of a specific invoice by ID
  • Get Uploads

    • GET /invoices/uploads - Get details of invoice uploads
  • Mark Invoices

    • POST /invoices/mark-exported - Mark multiple invoices as exported
    • POST /invoices/mark-unexported - Mark multiple invoices as unexported
  • Update Invoices

    • PATCH /invoices/:id - Update invoice header, line items and dimensions