Vendors
Overview
A vendor represents an organization that provides goods or services to a company. Vendors issue invoices that flow through Ottimate’s AP automation workflow. Before you can create invoices in Ottimate, the associated vendor must exist in the system.
Key Characteristics:
- Vendors are company-specific - each company maintains its own vendor list
- Vendors must be synced from your ERP to enable invoice export
- The
erp_vendor_idlinks Ottimate vendors to your accounting system - Vendors are identified by
id(Ottimate-assigned) orerp_vendor_id(your ERP’s ID)
Vendor Data Flow
Understanding when and how vendor data flows between systems:
Sync Patterns
Ottimate-Hosted ERP Integrations
When you use an Ottimate-hosted integration (e.g., QuickBooks, NetSuite, Sage), Ottimate automatically syncs vendors from your ERP:
- Initial sync happens during onboarding
- Ongoing sync keeps vendors updated automatically
- No API calls needed - vendor management is handled by the integration
In this scenario, you primarily use the Vendors API to read vendor data for reference or validation.
Custom ERP Integrations
If you’re building a custom integration with an unsupported ERP, you’re responsible for syncing vendors:
- Extract vendor data from your ERP
- Transform to Ottimate’s vendor format
- Load via the Vendors API (
POST /vendorsorPOST /vendors/bulk-create/) - Maintain ongoing sync as vendors are added/updated in your ERP
Keep vendor data consistent between Ottimate and your ERP. Mismatched vendor names or IDs can cause issues during invoice export.
Vendor Fields
Required Fields
Optional Fields
Response Fields
API Operations
List Vendors
Retrieve all vendors for a company:
Response:
Get Single Vendor
Retrieve a specific vendor by Ottimate ID:
Response:
Create Single Vendor
Create a new vendor:
Response (201 Created):
Bulk Create/Update Vendors
Create or update multiple vendors in a single request. This endpoint uses upsert behavior - existing vendors (matched by erp_vendor_id) are updated, new vendors are created.
Response (201 Created):
Partial Failure Response (207 Multi-Status):
If some vendors fail validation, you’ll receive a 207 response:
Net Terms
The net_terms field defines payment terms negotiated with the vendor. When provided, Ottimate automatically calculates invoice due dates.
Accepted Formats:
Net terms are optional. If not provided, invoice due dates must be set manually or calculated by your integration.
Best Practices
- Sync vendors before invoices - Ensure vendors exist in Ottimate before creating invoices that reference them.
- Use bulk-create for efficiency - When syncing multiple vendors, use the bulk endpoint to reduce API calls.
- Match ERP identifiers exactly - The
erp_vendor_idmust match your ERP’s vendor ID for successful invoice export. - Keep names consistent - Use the same vendor name in Ottimate as in your ERP to avoid confusion during reconciliation.
- Cache vendor mappings - Fetch and cache the vendor list at integration startup to avoid repeated API calls.
- Handle partial failures - When using bulk-create, check the
errorsarray and handle failed vendors appropriately. - Set net_terms for automation - Providing payment terms enables automatic due date calculation.

