Python SDK
The Ottimate Python SDK is a typed client generated from the same OpenAPI specification that powers this documentation, so responses come back as Python objects instead of raw JSON.
Version 0.1.7 covers 57 of the API’s 78 endpoints. Accounts, Batch, Catalog, Dimensions, Invoices, OAuth, Purchase Orders, Receipts, and Vendors are available. Payments, Approval Policies, and Coding Defaults are not yet in the SDK — call those endpoints directly over HTTP for now. See the API Reference for the full surface.
The SDK is published to PyPI as ottimate-sdk, but its import name is ottimate:
Getting started
Authenticate
Exchange your client credentials for an OAuth token, then initialize the client with it. See Setup.
Make your first call
Fetch the companies and locations on your account to confirm the client is wired up correctly. See Accounts.
Guides
Install the package, configure credentials, and initialize the client
Fetch the companies and locations that belong to an account
Sync GL accounts and other accounting dimensions
Create and look up accounting vendors
Upload, create, list, and retrieve invoices
Add and remove approvers, and approve invoices
Manage catalog entries, prices, allowances, and variances
A single script that runs the full onboarding-to-invoice flow
Conventions
Method names mirror the underlying HTTP operation, grouped by API tag. For example:
Every request is scoped by the credentials you authenticate with — the same scoping rules that apply to direct API calls apply here.

