---
title: Ordway API Integration on Truto
slug: ordway
category: Subscription Platform
canonical: "https://truto.one/integrations/detail/ordway/"
---

# Ordway API Integration on Truto



**Category:** Subscription Platform  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 98 tools for Ordway that AI agents can call directly.

- **list_all_ordway_customers** — List customers in Ordway. Returns a collection of customer records, each including its id.
- **create_a_ordway_customer** — Create a customer in Ordway by submitting a JSON customer payload. Returns the created customer record, including its id. Requires a JSON customer body defined by the CustomerInput schema.
- **get_single_ordway_customer_by_id** — Get a single customer in Ordway by id. Returns the customer record, including its id. Required: id.
- **update_a_ordway_customer_by_id** — Update a customer in Ordway by id with a JSON customer payload. Returns the updated customer record, including its id. Required: id.
- **delete_a_ordway_customer_by_id** — Delete a customer in Ordway by id. Returns an empty 204 response on success. Required: id.
- **list_all_ordway_customer_contacts** — List the contacts for a customer in Ordway. Returns each contact object including its id and an attributes object holding the contact-specific fields. Required: customer_id.
- **list_all_ordway_customer_payment_methods** — List the payment methods on file for an Ordway customer. Returns: payment_method_id, company_id, customer_id, payment_type, account_number, routing_number, account_holder_name, account_holder_type, country, expiry, status. Required: customer_id.
- **list_all_ordway_customer_customer_notes** — List the notes attached to a specific customer in Ordway. Returns an array of note records, each with its id, created_at, and updated_at. Required: customer_id.
- **list_all_ordway_subscriptions** — List subscriptions in Ordway. Returns subscription records, each with its id and attributes per Ordway's Subscription schema. Supports the updated_date> filter (ISO 8601).
- **create_a_ordway_subscription** — Create a subscription in Ordway. Returns the created subscription's id and attributes, per Ordway's Subscription schema. Requires a JSON request body matching Ordway's SubscriptionInput schema.
- **get_single_ordway_subscription_by_id** — Get a single subscription in Ordway by its string id (for example S-00001). Returns the subscription's id and attributes, per Ordway's Subscription schema. Required: id.
- **update_a_ordway_subscription_by_id** — Update a subscription in Ordway by id. Returns the updated subscription's id and attributes, per Ordway's Subscription schema. Required: id.
- **list_all_ordway_invoices** — List invoices in Ordway. Returns each invoice including its id and an attributes object with the full Invoice record; the field-level schema is defined upstream in the Ordway API reference. Optionally pass updated_date> to filter invoices updated after the given ISO 8601 date-time.
- **create_a_ordway_invoice** — Create an invoice in Ordway from an InvoiceInput JSON body (required). Returns the created invoice including its id and an attributes object with the full Invoice record; the field-level schema is defined upstream in the Ordway API reference.
- **get_single_ordway_invoice_by_id** — Get a single Ordway invoice by id. Returns the invoice including its id and an attributes object with the full Invoice record; the field-level schema is defined upstream in the Ordway API reference. Required: id.
- **update_a_ordway_invoice_by_id** — Update an Ordway invoice by id from an InvoiceInput JSON body (required). Returns the updated invoice including its id and an attributes object with the full Invoice record; the field-level schema is defined upstream in the Ordway API reference. Required: id.
- **list_all_ordway_payments** — List payments in Ordway. Returns an array of payment records, each including id and updated_date; remaining fields follow Ordway's Payment schema.
- **create_a_ordway_payment** — Create a payment in Ordway. Returns the created payment object including id and updated_date; remaining fields follow Ordway's Payment schema (see Ordway's API reference for the full field list). Requires a PaymentInput body.
- **get_single_ordway_payment_by_id** — Get a single payment in Ordway by id. Returns the payment object including id and updated_date; remaining fields follow Ordway's Payment schema. Required: id.
- **list_all_ordway_payment_runs** — List Ordway payment runs. Returns payment run records including id, created_at, and updated_at; the Ordway docs do not enumerate the remaining PaymentRun fields, so consult the API reference for the full record shape.
- **create_a_ordway_payment_run** — Create a payment run in Ordway by submitting a JSON PaymentRunInput request body. Returns the created payment run record with id and schema-specific attributes (the upstream field list is not enumerated in the available docs).
- **get_single_ordway_payment_run_by_id** — Get a single Ordway payment run by id. Returns the payment run record with id and schema-specific attributes (the upstream PaymentRun field list is not enumerated in the available docs). Required: id.
- **list_all_ordway_products** — List products in Ordway. Returns an array of product records, each with an id and content-type-specific product attributes.
- **create_a_ordway_product** — Create a product in Ordway. Returns the created product record: id and content-type-specific product attributes. Requires a ProductInput request body.
- **get_single_ordway_product_by_id** — Get a single product in Ordway by id. Returns the product record: id and content-type-specific product attributes. Required: id.
- **update_a_ordway_product_by_id** — Update a product in Ordway by id. Returns the updated product record: id and content-type-specific product attributes. Required: id.
- **list_all_ordway_plans** — List plans in Ordway. Returns an array of plan records, each including its id, created_at, and updated_at.
- **create_a_ordway_plan** — Create a plan in Ordway. Returns the created plan record including its id, created_at, and updated_at. Requires a JSON request body following Ordway's plan input schema.
- **get_single_ordway_plan_by_id** — Get a single plan in Ordway by id. Returns the plan record including its id, created_at, and updated_at. Required: id.
- **list_all_ordway_orders** — List orders in Ordway. Returns an array of order records with fields such as id, customer_id, status, currency, effective_date, and created_at/updated_at. Optional updated_date> filter (ISO 8601) returns only orders updated after the given date-time.
- **create_a_ordway_order** — Create an order in Ordway by submitting an order payload as a JSON body. Returns the created order record including id, customer_id, status, currency, and created_at/updated_at. Requires a JSON order body.
- **get_single_ordway_order_by_id** — Get a single order in Ordway by id. Returns the order record including id, customer_id, status, currency, effective_date, and created_at/updated_at. Required: id.
- **list_all_ordway_credits** — List credits in Ordway. Returns an array of credit records, each including its id; the full field set of each record is defined by Ordway's Credit schema in the Ordway API reference.
- **create_a_ordway_credit** — Create a credit in Ordway. Returns the created credit object including its id; the full field set is defined by Ordway's CreditInput/Credit schemas in the Ordway API reference. Requires a CreditInput JSON request body.
- **get_single_ordway_credit_by_id** — Get a single credit in Ordway by id. Returns the credit details including its id; the full field set is defined by Ordway's Credit schema in the Ordway API reference. Required: id.
- **list_all_ordway_refunds** — List Ordway refunds. Returns an array of refund records, each including its id and custom_fields. Page, size, and sort pagination is handled automatically.
- **create_a_ordway_refund** — Create a refund in Ordway. Returns the newly created refund record, including its id and custom_fields. Requires a JSON request body conforming to the upstream RefundInput schema; invalid input is rejected with a 422.
- **get_single_ordway_refund_by_id** — Retrieve a single Ordway refund by id. Returns the refund record, including its id and custom_fields. Returns a 404 if no refund matches. Required: id.
- **list_all_ordway_debit_memos** — List debit memos in Ordway. Returns each debit memo's id and custom_fields.
- **get_single_ordway_debit_memo_by_id** — Get a single debit memo by id in Ordway. Returns the debit memo's id and custom_fields. Required: id.
- **list_all_ordway_billing_runs** — List billing runs in Ordway. Returns an array of billing run records, each including its id.
- **create_a_ordway_billing_run** — Create a billing run in Ordway. Returns the created billing run object as defined by Ordway's BillingRun schema, including its id. Requires a JSON request body modeled as BillingRunInput.
- **get_single_ordway_billing_run_by_id** — Get a single billing run in Ordway by id. Returns the billing run object as defined by Ordway's BillingRun schema, including its id. Required: id.
- **list_all_ordway_billing_schedules** — List billing schedules in Ordway. Returns each billing schedule object, including its id; the remaining fields of the BillingSchedule schema are not enumerated in Ordway's available documentation.
- **get_single_ordway_billing_schedule_by_id** — Get a single Ordway billing schedule by id. Returns the billing schedule object, including its id; the remaining fields of the BillingSchedule schema are not enumerated in Ordway's available documentation. Required: id.
- **list_all_ordway_revenue_schedules** — List Ordway revenue schedules, optionally filtered with updated_date> to schedules updated after a given ISO 8601 date-time. Returns an array of revenue schedule records; their field-level structure is defined by the upstream RevenueSchedule schema, which the Ordway API docs do not expand here.
- **get_single_ordway_revenue_schedule_by_id** — Get a single Ordway revenue schedule by id. Returns the revenue schedule record; its field-level structure is defined by the upstream RevenueSchedule schema, which the Ordway API docs do not expand here. Required: id.
- **list_all_ordway_revenue_rules** — List Ordway revenue rules. Returns a collection of revenue rule records, each including its id plus the rule-specific attributes defined by the upstream RevenueRule schema.
- **get_single_ordway_revenue_rule_by_id** — Get a single revenue rule in Ordway by id. Returns the revenue rule object with its id and attributes (the RevenueRule detail fields defined upstream; see Ordway's API docs for the field-level breakdown). Required: id.
- **list_all_ordway_statements** — List statements in Ordway. Returns statement records including their id and attributes; the full field set is defined by the upstream Statement schema.
- **get_single_ordway_statement_by_id** — Get a single statement in Ordway by id. Returns: company_id, statement_id, customer_id, statement_date, start_date, end_date, template_name, url, created_by, updated_by, created_date, updated_date. Required: id.
- **list_all_ordway_coupons** — List coupons in Ordway, paginated. Returns: company_id, coupon_id, code, display_text, status, discount_type, discount_value, duration_period, trial_type, trial_value, discount_criteria, expiration_date, usage_limit, usage_count, created_by, updated_by, created_date, updated_date.
- **get_single_ordway_coupon_by_id** — Get a single coupon in Ordway by id. Returns the coupon's details including its id. Required: id.
- **list_all_ordway_usages** — List usage records in Ordway. Returns an array of usage record objects, each with its id and an attributes map of Usage fields (e.g. updated_date). Filter with updated_date> (ISO 8601).
- **create_a_ordway_usage** — Create a usage record in Ordway. Returns the created usage record object with its id and an attributes map of Usage fields (e.g. updated_date). Requires a JSON body following Ordway's UsageInput schema; see Ordway's API reference for the exact field list.
- **get_single_ordway_usage_by_id** — Get a single usage record in Ordway by id. Returns the usage record object with its id and an attributes map of Usage fields (e.g. updated_date). Required: id.
- **list_all_ordway_chart_of_accounts** — List chart of accounts in Ordway. Returns an array of chart of account entries as defined by Ordway's ChartOfAccount schema, each including its id.
- **get_single_ordway_chart_of_account_by_id** — Get a single chart of account entry by id in Ordway. Returns the entry details defined by Ordway's ChartOfAccount schema, including its id. Required: id.
- **list_all_ordway_journal_entries** — List journal entries in Ordway. Returns journal-entry records, each including its id plus the remaining journal-entry fields defined by Ordway's JournalEntry schema.
- **get_single_ordway_journal_entry_by_id** — Get a single journal entry in Ordway by id. Returns the journal entry including its id plus the remaining journal-entry fields defined by Ordway's JournalEntry schema. Required: id.
- **list_all_ordway_webhooks** — List webhooks registered in Ordway. Returns webhook objects including their id, created_at, and updated_at.
- **create_a_ordway_webhook** — Create a webhook in Ordway. Requires a JSON request body. Returns the created webhook object including its id, created_at, and updated_at.
- **get_single_ordway_webhook_by_id** — Get a single webhook in Ordway by id. Returns the webhook object including its id, created_at, and updated_at. Required: id.
- **update_a_ordway_webhook_by_id** — Update a webhook in Ordway by id. Requires a JSON request body. Returns the updated webhook object including its id, created_at, and updated_at. Required: id.
- **delete_a_ordway_webhook_by_id** — Delete a webhook in Ordway by id. Returns an empty 204 response on success. Required: id.
- **list_all_ordway_user_session_settings** — Get the configured user session inactivity timeout settings in Ordway. Returns: message.
- **ordway_user_session_settings_bulk_update** — Update the user session inactivity timeout settings in Ordway. Returns: message. Required: inactivity_time, inactivity_time_uom.
- **list_all_ordway_sso_portal_config** — Get the current Ordway SSO portal configuration. Returns: created_at, updated_at, message. Protected fields are returned encrypted to non-admin users and decrypted for admins.
- **ordway_sso_portal_config_bulk_update** — Update the existing Ordway SSO portal configuration. Returns: message. Send the SSO settings from the GET response excluding the read-only uuid, created_at, updated_at, created_by, and updated_by. Invalid values (e.g. an algorithm other than SHA1 or SHA256) are rejected with per-field errors.
- **list_all_ordway_notification_settings** — Get the configured notification settings in Ordway. Returns the notification_settings collection, where each entry includes event_type plus its email_enabled and notification_enabled flags.
- **ordway_notification_settings_bulk_update** — Update the notification settings configuration in Ordway. Returns a confirmation message on success. Required: notification_settings — the full list of event entries with event_type, email_enabled, and notification_enabled.
- **list_all_ordway_document_numbering** — List Ordway document numbering configurations for the company. Returns: message. Optional documents filter (comma-separated document types); all records are returned when omitted.
- **ordway_document_numbering_bulk_update** — Update Ordway document numbering configurations. Returns a confirmation message on success. Required: document_numberings records with document and rule; next_number is required when rule is auto and must be greater than 0. Partial updates are supported; validation errors are returned per record.
- **create_a_ordway_company** — Create a new company in Ordway. Returns: message. Requires name.
- **update_a_ordway_company_by_id** — Update a company's profile details in Ordway — name, email, phone, address, company_type, and branding URLs — identified by id. Returns: message. Required: id.
- **ordway_companies_change_type** — Change a company's type in Ordway by company_id. Returns: message. Required: company_id, company_type.
- **list_all_ordway_companies** — Retrieve the Ordway company profile for the entity configured in the request headers. Returns: id, created_at, updated_at, message.
- **list_all_ordway_users** — List Ordway users. Returns each user record with its id and attributes (user fields defined in Ordway's Users setup documentation).
- **get_single_ordway_user_by_id** — Get a single Ordway user by id. Returns the user record with its id and attributes (fields defined in Ordway's Users setup docs). Required: id.
- **create_a_ordway_user** — Create a user in Ordway. Returns the created user record with its id and attributes (user fields defined in Ordway's Users setup docs).
- **update_a_ordway_user_by_id** — Update an Ordway user's details and entity role assignments by id. Returns the updated user record with its id and attributes. Required: id.
- **delete_a_ordway_user_by_id** — Delete an Ordway user by id. Returns an empty 204 response on success. Required: id.
- **ordway_users_change_token** — Regenerate the token for a user in Ordway. Returns: message. Required: user_id.
- **ordway_users_unlock_account** — Unlock a locked user account in Ordway. Returns: message. Required: user_id.
- **ordway_users_resend_confirmation_email** — Resend the confirmation email for a user in Ordway. Returns: message. Required: user_id.
- **ordway_users_download_recovery_codes** — Download the recovery codes for a user in Ordway. Returns a success confirmation message (message) for the affected user. Required: user_id.
- **ordway_users_delete_mfa_setup** — Delete the MFA setup for a user in Ordway. Returns: message. Required: user_id.
- **list_all_ordway_roles** — List all roles in Ordway. Returns each role with its id, created_at, updated_at, and message.
- **get_single_ordway_role_by_id** — Get a single Ordway role and its associated permissions by id. Returns: id, created_at, updated_at, message. Required: id.
- **create_a_ordway_role** — Create a role in Ordway. Returns the created role including its id, created_at, and updated_at timestamps.
- **update_a_ordway_role_by_id** — Update a role's details and permissions in Ordway by id. Returns: id, created_at, updated_at, message. Required: id.
- **delete_a_ordway_role_by_id** — Delete a role in Ordway by id. Returns an empty 204 response on success. Required: id.
- **list_all_ordway_taxes** — List all tax rules configured in Ordway, covering state, city, county, ZIP code, and country-level tax configurations. Returns each rule's label, enabled flag, tax_percent, jurisdiction fields, and product_tax_group_id.
- **get_single_ordway_tax_by_id** — Get the details of a specific tax rule in Ordway by its tax_id. Returns: tax_id, label, enabled, tax_percent, city, county, state, country, zip, product_tax_group_id, custom_fields. Required: id.
- **create_a_ordway_tax** — Create a new tax rule in Ordway with a configurable tax percentage (decimal precision supported) and jurisdiction scope at state, city, county, ZIP code, or country level. Returns the created rule including tax_id, label, tax_percent, enabled, and product_tax_group_id.
- **update_a_ordway_tax_by_id** — Update an existing Ordway tax rule. Returns the updated rule including tax_id, label, tax_percent, enabled, and its city/county/state/country/zip scope. Required: id.
- **delete_a_ordway_tax_by_id** — Delete an Ordway tax rule by id. Returns an empty 204 response on success.
- **ordway_taxes_bulk_write** — Bulk create, update, and delete Ordway tax rules in a single POST to /api/v1/taxes/bulk, passing multiple tax rule objects as a JSON array. The upstream docs do not document a response body for this endpoint.

## How it works

1. **Link your customer's Ordway account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Ordway.** The Proxy API is a 1-to-1 mapping of the Ordway API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Stream product usage into customer invoices** — Product analytics, API infrastructure, and AI/LLM platforms can push per-customer consumption metrics into Ordway so their end users get accurate usage-based invoices without manual CSV exports.
- **Automate quote-to-cash from CPQ or CRM** — CPQ and RevOps tools can turn closed-won deals into live Ordway customers, orders, and subscriptions the moment a contract is signed, eliminating the Sales-to-Finance handoff.
- **Power AR automation and smart dunning** — Collections and AR platforms can pull invoices, payments, and credits from their customers' Ordway accounts to trigger dunning workflows and write notes back for full audit visibility.
- **Embed a self-serve billing portal** — Customer-facing SaaS apps can surface invoices, statements, payment methods, and subscription details natively in-app so end users never have to leave to manage billing.
- **Sync revenue data into the general ledger** — Accounting and close-automation tools can extract journal entries, revenue schedules, and chart of accounts from Ordway to keep the ERP in sync and shorten the monthly close.

## What you can build

- **Usage event ingestion pipeline** — Push metered consumption events into Ordway on a scheduled or real-time cadence so downstream invoices reflect actual customer activity.
- **Automated subscription provisioning** — Create Ordway customers, orders, and subscriptions programmatically from your CPQ, CRM, or checkout flow, mapping against existing products and plans.
- **Embedded invoices and payments dashboard** — Render a native billing page inside your app showing invoices, statements, payment methods, credits, and refunds pulled live from each user's Ordway account.
- **Dunning and collections workflows** — Monitor outstanding invoices and payments to trigger reminder sequences, log customer notes back to Ordway, and reconcile applied credits automatically.
- **GL and revenue recognition sync** — Continuously extract journal entries, revenue schedules, and revenue rules into your accounting or close-management product to automate ASC 606 reporting.
- **Subscription lifecycle management UI** — Let end users view and update subscriptions, apply coupons, and manage billing schedules directly from your product without redirecting to Ordway.

## FAQs

### What Ordway objects can we read and write through Truto?

Truto exposes Ordway's core billing objects including customers, subscriptions, orders, products, plans, invoices, payments, credits, refunds, debit memos, usages, billing runs, billing schedules, revenue schedules, revenue rules, journal entries, chart of accounts, statements, coupons, and taxes. Configuration objects like users, roles, webhooks, and notification settings are also supported.

### How do end users connect their Ordway account?

Truto handles the Ordway authentication flow for you, so your end users authenticate once through Truto's connect UI or a headless flow. You don't need to manage API keys, token storage, or credential rotation yourself.

### Can we receive real-time updates when data changes in Ordway?

Yes. Truto supports Ordway's webhook APIs (create, list, get, update, and delete webhooks), so you can subscribe to Ordway events and receive normalized event payloads to keep your product in sync without constant polling.

### How is pagination handled on list endpoints?

Truto normalizes pagination across all list_all_* Ordway endpoints, returning a consistent cursor-based response so you can iterate through customers, invoices, usages, or journal entries without writing per-endpoint pagination logic.

### Can we send usage data at high volume for metered billing?

Yes. The create_a_ordway_usage endpoint is exposed through Truto, so you can push consumption events per customer on the cadence your product requires. Truto handles retries and rate-limit backoff against Ordway's API on your behalf.

### Do we get access to Ordway's custom fields and account-specific configuration?

Truto passes through the full Ordway response payloads, including any custom fields configured on objects like customers, subscriptions, and orders. You can also read tenant-level configuration such as document numbering, notification settings, and SSO portal config.

## Related reading

- [Connect Ordway to ChatGPT: Manage Customer Subscriptions and Taxes](https://truto.one/blog/connect-ordway-to-chatgpt-manage-customer-subscriptions-and-taxes/) — Learn how to connect Ordway to chatgpt using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Ordway to Claude: Process Payments and Journal Entries](https://truto.one/blog/connect-ordway-to-claude-process-payments-and-journal-entries/) — Learn how to build a managed MCP server for Ordway. Connect Claude to Ordway's API to automate subscriptions, payments, journal entries, and revenue rules.
- [Connect Ordway to AI Agents: Orchestrate Billing and Revenue Cycles](https://truto.one/blog/connect-ordway-to-ai-agents-orchestrate-billing-and-revenue-cycles/) — Learn how to connect Ordway to AI agents using Truto's /tools endpoint. Fetch tools, bind them to LangChain, and orchestrate complex billing workflows autonomously.
