Intuit
Collection of APIs offered by Intuit for financial and business management services.
8 APIs
6 Features
AccountingCustom FieldsFinancialFinancial ServicesInvoicingPaymentsPayrollProject ManagementSales TaxSmall BusinessTaxTax PreparationTaxesTime TrackingFortune 1000
Intuit APIs provide developers with access to a wide range of services and functionalities to help them build innovative solutions for financial management, accounting, and tax-...
The QuickBooks Online Accounting API is a RESTful API that provides programmatic access to QuickBooks Online company data, including customers, invoices, payments, bills, vendor...
The QuickBooks Payments API enables developers to process credit card charges, bank account debits (ACH), and manage payment methods within the QuickBooks ecosystem. It supports...
The QuickBooks Payroll and Time API provides programmatic access to payroll and time-tracking data within QuickBooks Online. It supports use cases including time entry managemen...
The QuickBooks Desktop API allows developers to integrate with QuickBooks Desktop applications using qbXML messages. It provides capabilities for adding, querying, modifying, an...
The QuickBooks Projects API is a premium API that provides programmatic access to project data within QuickBooks Online Plus, Advanced, Accountant, and Intuit Enterprise Suite. ...
The QuickBooks Custom Fields API is a premium API that provides programmatic access to custom field definitions and values in QuickBooks Online and Intuit Enterprise Suite. It a...
The QuickBooks Sales Tax API is a premium API that provides programmatic access to the automated sales tax calculation capabilities within QuickBooks Online. It enables develope...
Create an item, create a customer, then invoice them for that item.
ARAZZO
Create an invoice and email it to the customer in one flow.
ARAZZO
Create an invoice and void it, carrying the SyncToken forward.
ARAZZO
Create a new QuickBooks customer and immediately raise their first invoice.
ARAZZO
Create a sellable service item and invoice a customer using that item.
ARAZZO
Onboard a customer, invoice them, and record their payment end to end.
ARAZZO
Look up a customer by display name and create it only if missing.
ARAZZO
Raise an invoice and record a customer payment applied against it.
ARAZZO
Create an invoice and retrieve it as a downloadable PDF.
ARAZZO
Find a customer's oldest open invoice and record a payment against it.
ARAZZO
Find an invoice by document number and void it with its SyncToken.
ARAZZO
Query for unpaid invoices and email a reminder for the first match.
ARAZZO
Read an item and apply a new unit price via a sparse update.
ARAZZO
Find a customer by email, read it, and update its contact details.
ARAZZO
Read a payment for its SyncToken and update its amount and reference.
ARAZZO
Read a payment for its SyncToken and then void it.
ARAZZO
OAuth 2.0 Authentication
Secure API access using OAuth 2.0 authorization with OpenID Connect for user identity verification.
Webhooks
Real-time event notifications for changes to QuickBooks entities including invoices, payments, and customers.
Minor Versioning
Backward-compatible API versioning allowing access to newer fields and behaviors without breaking existing integrations.
Sandbox Environment
Full-featured sandbox environment for testing and development with sample company data.
Multi-Currency Support
Support for transactions in multiple currencies with automatic exchange rate management.
Custom Fields
Extensible metadata system allowing up to 12 custom fields across transaction types.
Accounting Automation
Automate bookkeeping workflows by syncing invoices, payments, and expenses between business systems and QuickBooks.
Payment Processing
Process credit card and ACH payments linked to QuickBooks invoices for seamless financial reconciliation.
Payroll Integration
Integrate payroll and time-tracking data to streamline employee compensation and workforce management.
Tax Compliance
Automate sales tax calculations and ensure tax compliance across different jurisdictions.
Financial Reporting
Build custom financial reports and dashboards by querying QuickBooks accounting data programmatically.
Shopify
Sync e-commerce orders, inventory, and payments between Shopify stores and QuickBooks for automated bookkeeping.
Stripe
Reconcile Stripe payment transactions with QuickBooks invoices and accounts receivable.
Square
Import Square POS transactions into QuickBooks for unified financial management.
HubSpot
Connect CRM data with accounting to automate invoice creation from deals and track payment status.
Salesforce
Sync customer and opportunity data between Salesforce CRM and QuickBooks accounting.
opencollection: 1.0.0
info:
name: QuickBooks Online Accounting API
version: '75'
request:
auth:
type: oauth2
flow: authorization_code
authorizationUrl: https://appcenter.intuit.com/connect/oauth2
accessTokenUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
credentials:
clientId: '{{clientId}}'
clientSecret: '{{clientSecret}}'
items:
- info:
name: Invoices
type: folder
items:
- info:
name: Create an Invoice
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice
params:
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Creates a new invoice. At minimum, the request must include a CustomerRef and at least one Line item. The TxnDate
defaults to the current date if not specified. QuickBooks automatically calculates totals, tax, and balance fields.
- info:
name: Read an Invoice
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId
params:
- name: invoiceId
value: ''
type: path
description: The unique identifier for the invoice
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Retrieves the details of an invoice that has been previously created. Supply the unique invoice ID returned from
a previous create or query request.
- info:
name: Update an Invoice
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId
params:
- name: invoiceId
value: ''
type: path
description: The unique identifier for the invoice
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Updates an existing invoice. A full update replaces the entire entity with the data provided. The request must include
the Id and SyncToken fields from the latest read of the entity. Writable fields omitted from the request body are set
to NULL.
- info:
name: Send an Invoice via Email
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/send
params:
- name: invoiceId
value: ''
type: path
description: The unique identifier for the invoice
- name: sendTo
value: example_value
type: query
description: Override destination email address
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Sends the specified invoice via email to the address associated with the customer's BillEmail. You can override
the destination email by providing a sendTo query parameter.
- info:
name: Void an Invoice
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/void
params:
- name: invoiceId
value: ''
type: path
description: The unique identifier for the invoice
- name: operation
value: void
type: query
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Voids the specified invoice. The invoice remains in the system with a voided status. The request body must include
the Id and SyncToken of the invoice. The operation=void parameter must also be included.
- info:
name: Get Invoice as Pdf
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/pdf
params:
- name: invoiceId
value: ''
type: path
description: The unique identifier for the invoice
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Returns the specified invoice as a PDF document. The response content type is application/pdf.
- info:
name: Query Entities
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/query
params:
- name: query
value: SELECT * FROM Invoice WHERE TotalAmt > '100.00' MAXRESULTS 10
type: query
description: 'A SQL-like query string. For example: SELECT * FROM Invoice WHERE TotalAmt > ''100.00'' ORDERBY TxnDate'
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Executes a SQL-like query against QuickBooks Online entities. The query language supports SELECT, WHERE, ORDER BY,
COUNT, STARTPOSITION, and MAXRESULTS clauses. This endpoint is used to query invoices, customers, items, payments, and
other entity types.
- info:
name: Customers
type: folder
items:
- info:
name: Create a Customer
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer
params:
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Creates a new customer. At minimum, the request must include a DisplayName that is unique across all Customer, Employee,
and Vendor objects. Additional fields such as billing address, email, and phone can be set during creation.
- info:
name: Read a Customer
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer/:customerId
params:
- name: customerId
value: ''
type: path
description: The unique identifier for the customer
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Retrieves the details of a customer that has been previously created. Supply the unique customer ID.
- info:
name: Update a Customer
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer/:customerId
params:
- name: customerId
value: ''
type: path
description: The unique identifier for the customer
- name: sparse
value: 'true'
type: query
description: Set to true for a sparse (partial) update
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Updates an existing customer. The request body must include the Id and SyncToken. A sparse update is supported by
including only the fields that need to change along with the sparse=true parameter.
- info:
name: Items
type: folder
items:
- info:
name: Create an Item
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item
params:
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Creates a new item (product or service). At minimum, the request must include a Name, Type (Inventory, NonInventory,
or Service), and appropriate account references (IncomeAccountRef, ExpenseAccountRef, and AssetAccountRef for inventory
items).
- info:
name: Read an Item
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item/:itemId
params:
- name: itemId
value: ''
type: path
description: The unique identifier for the item
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Retrieves the details of an item that has been previously created. Supply the unique item ID.
- info:
name: Update an Item
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item/:itemId
params:
- name: itemId
value: ''
type: path
description: The unique identifier for the item
- name: sparse
value: 'true'
type: query
description: Set to true for a sparse (partial) update
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Updates an existing item. The request must include the Id and SyncToken. Sparse updates are supported.
- info:
name: Payments
type: folder
items:
- info:
name: Create a Payment
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment
params:
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Creates a new payment received from a customer. The payment can be applied to one or more outstanding invoices using
the Line array with LinkedTxn references. If TotalAmt exceeds the sum of linked transactions, the remainder is treated
as an unapplied amount.
- info:
name: Read a Payment
type: http
http:
method: GET
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId
params:
- name: paymentId
value: ''
type: path
description: The unique identifier for the payment
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
docs: Retrieves the details of a payment that has been previously created. Supply the unique payment ID.
- info:
name: Update a Payment
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId
params:
- name: paymentId
value: ''
type: path
description: The unique identifier for the payment
- name: sparse
value: 'true'
type: query
description: Set to true for a sparse (partial) update
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Updates an existing payment. The request must include the Id and SyncToken. Use this to change the linked transactions,
payment method, or other details.
- info:
name: Void a Payment
type: http
http:
method: POST
url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId/void
params:
- name: paymentId
value: ''
type: path
description: The unique identifier for the payment
- name: operation
value: void
type: query
- name: minorversion
value: '75'
type: query
description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
existing integrations. If omitted, the base version behavior is used.
body:
type: json
data: '{}'
docs: Voids the specified payment. The payment is not deleted but marked as voided. The request body must include the
Id and SyncToken. Include the operation=void query parameter.
bundled: true