Skip to content
All connectors
QuickBooks Online logo

QuickBooks Online

Accounting, billing & payments

Keep QuickBooks Online in step with your orders, invoices and payments without re-keying, with the right person approving what changes.

58 ways to read, 25 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
QuickBooks Online with Nexra

Connected, approved, proven.

The things teams do most with QuickBooks Online, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Record bill paymentbill_payments.createApproval by rule
  • Create billbills.createApproval by rule
  • Balance sheet reportbalance_sheet.getRead

Example flow

  1. One Touch Health · Read clientsclients.listDone
  2. QuickBooks Online · Create customercustomers.createMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches QuickBooks Online.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to QuickBooks Online
  • QuickBooks Online's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect a Intuit test account before you go live.

For developers

Technical detail

QuickBooks Online sales, purchasing, banking (deposits, transfers, refund receipts), vendor credits, bill payments, exchange rates, lists, reports and change data capture; invoice writes never send email.

Intuit API docs
Source actions
58
Destination actions
25
Data types
32

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

accounts2
  • Get accountSource

    One chart-of-accounts entry with type and balance.

  • List accountsSourceIncremental

    Chart of accounts with type, classification and current balance.

aged receivables1
  • Aged receivables reportSource

    Outstanding customer balances by ageing bucket.

balance sheet1
  • Balance sheet reportSource

    Assets, liabilities and equity at the end of a period.

bill payments3
  • Record bill paymentDestinationProvider duplicate protectionApproval before production

    Records that supplier bills were already paid by cheque or credit card, and applies the payment to them. QuickBooks sends no money for this record.

  • Get bill paymentSource

    One bill payment with the bills it settles.

  • List bill paymentsSourceIncremental

    Payments recorded against vendor bills by cheque or credit card.

bills4
  • Create billDestinationProvider duplicate protectionApproval before production

    Creates a vendor bill with item or account expense lines.

  • Get billSource

    One vendor bill with expense lines and open balance.

  • List billsSourceIncremental

    Vendor bills with expense lines and open balances.

  • Update billDestinationProvider duplicate protectionApproval before production

    Sparse update of a bill using its Id and current SyncToken.

changes1
  • List changes (change data capture)SourceIncremental

    Records of the chosen entity types created, updated or deleted since a time in the last 30 days.

classes2
  • Get classSource

    One class.

  • List classesSourceIncremental

    Classes used to segment transactions.

company info1
  • Get company informationSource

    Company name, legal name, country and fiscal year start for the connected company.

credit memos3
  • Create credit memoDestinationProvider duplicate protectionApproval before production

    Records a credit owed to a customer, for example for returned goods or a pricing correction. QuickBooks can apply it to the customer's open invoices; no money is refunded by this record.

  • Get credit memoSource

    One credit memo with lines and remaining credit.

  • List credit memosSourceIncremental

    Customer credit memos with remaining credit.

customer balances1
  • Customer balance reportSource

    Open balance per customer at a date.

customers6
  • Create customerDestinationProvider duplicate protectionApproval before production

    Creates a customer, or a sub-customer (job) when a parent is given, for example a care client billed to a funder.

  • Get customerSource

    One customer or sub-customer with contact, address, balance and terms.

  • List CustomersSource

    List operation for Customers.

  • Search customersSourceIncremental

    Customers by ID, status, open balance or change time. Use updatedSince for incremental sync.

  • Update customerDestinationProvider duplicate protectionApproval before production

    Sparse update of a customer using its Id and current SyncToken.

  • Upsert CustomersDestinationNexra idempotency keyApproval before production

    Upsert operation for Customers.

departments2
  • Get location (department)Source

    One location, called a department in the API.

  • List locations (departments)SourceIncremental

    Locations, called departments in the API.

deposits3
  • Record depositDestinationProvider duplicate protectionApproval before production

    Records funds already received into a bank account: undeposited customer payments and other income. No money is moved or collected.

  • Get depositSource

    One bank deposit with its lines.

  • List depositsSourceIncremental

    Bank deposits recorded in QuickBooks, with the payments and other funds they include.

employees2
  • Get employeeSource

    One employee, for example a carer whose time is billed.

  • List employeesSourceIncremental

    Employees for time tracking and expense attribution.

estimates5
  • Create estimateDestinationProvider duplicate protectionApproval before production

    Creates a customer estimate.

  • Get estimateSource

    One estimate with lines, status and expiry.

  • List estimatesSourceIncremental

    Quotes and estimates with status, expiry and lines.

  • Search estimatesSourceIncremental

    Estimates by ID, customer, document number, date range or change time.

  • Update estimateDestinationProvider duplicate protectionApproval before production

    Sparse update of an estimate using its Id and current SyncToken.

exchange rates3
  • Get exchange rateSource

    The rate QuickBooks uses for one currency on a date (today when no date is given).

  • List exchange ratesSource

    Exchange rates QuickBooks holds for foreign currencies against the home currency, optionally for one date or currency.

  • Set exchange rateDestinationProvider duplicate protectionApproval before production

    Sets the rate QuickBooks uses to convert a foreign currency to the home currency on a date. Setting the same rate again changes nothing.

invoices5
  • Create invoiceDestinationProvider duplicate protectionApproval before production

    Creates a sales invoice for a customer.

  • Get invoiceSource

    One invoice with lines, balance, SyncToken and linked transactions.

  • List invoicesSourceIncremental

    Sales invoices with lines, balances, linked payments and custom fields.

  • Search invoicesSourceIncremental

    Invoices by ID, customer, document number, transaction or due date range, location, class, open balance or change time.

  • Update invoiceDestinationProvider duplicate protectionApproval before production

    Sparse update of an invoice using its Id and current SyncToken.

items4
  • Create itemDestinationProvider duplicate protectionApproval before production

    Creates a service, non-inventory or inventory item.

  • Get itemSource

    One product or service, for example a care visit rate.

  • List itemsSourceIncremental

    Products and services with prices, accounts and quantity on hand.

  • Update itemDestinationProvider duplicate protectionApproval before production

    Sparse update of an item using its Id and current SyncToken.

journal entries2
  • Create journal entryDestinationProvider duplicate protectionApproval before production

    Posts a balanced journal entry; debits must equal credits.

  • List journal entriesSourceIncremental

    Manual journal entries with debit and credit lines.

payment methods1
  • List payment methodsSource

    Payment methods such as cash, cheque, BACS or card.

payments3
  • Record customer paymentDestinationProvider duplicate protectionApproval before production

    Records a payment already received from a customer and applies it to invoices. No money is collected.

  • Get customer paymentSource

    One received customer payment and the invoices it settles.

  • List customer paymentsSourceIncremental

    Received customer payments and the invoices they settle.

profit and loss1
  • Profit and loss reportSource

    Income and expenses for a period, optionally by customer, location or class.

purchase orders3
  • Create purchase orderDestinationProvider duplicate protectionApproval before production

    Creates a purchase order for a vendor.

  • List purchase ordersSourceIncremental

    Purchase orders with status and lines.

  • Update purchase orderDestinationProvider duplicate protectionApproval before production

    Sparse update of a purchase order using its Id and current SyncToken.

refund receipts2
  • Get refund receiptSource

    One refund receipt with its lines (read only).

  • List refund receiptsSourceIncremental

    Refunds given to customers at the time of return, with lines (read only).

sales receipts2
  • Create sales receiptDestinationProvider duplicate protectionApproval before production

    Records a sale that was already paid. No card or bank payment is processed by this operation.

  • List sales receiptsSourceIncremental

    Sales paid at the time of sale.

tax codes2
  • Get tax codeSource

    One tax code with its sales and purchase rates.

  • List tax codesSource

    Sales and purchase tax codes.

tax rates2
  • Get tax rateSource

    One tax rate.

  • List tax ratesSource

    Tax rates (for example UK VAT 20% or 5%) with agency and rate value.

terms2
  • Get termSource

    One payment term.

  • List termsSource

    Payment terms such as Net 30 or due on a day of the month.

time activities5
  • Create time activityDestinationProvider duplicate protectionApproval before production

    Records time worked by an employee or vendor.

  • Get time activitySource

    One time record with worker, customer, service item and billable status.

  • List time activitiesSourceIncremental

    Time recorded by employees or vendors, with billable status.

  • Search time activitiesSourceIncremental

    Time records by ID, date range or change time.

  • Update time activityDestinationProvider duplicate protectionApproval before production

    Sparse update of a time record using its Id and current SyncToken, for example to correct visit hours.

transfers2
  • Get transferSource

    One recorded transfer between accounts (read only).

  • List transfersSourceIncremental

    Transfers recorded between two balance sheet accounts (read only).

vendor credits3
  • Create vendor creditDestinationProvider duplicate protectionApproval before production

    Records a credit received from a supplier, for example for returned goods. It can then be applied to that supplier's bills in QuickBooks.

  • Get vendor creditSource

    One supplier credit with its lines.

  • List vendor creditsSourceIncremental

    Credits received from suppliers, with expense lines and remaining balance.

vendors4
  • Create vendorDestinationProvider duplicate protectionApproval before production

    Creates a supplier.

  • Get vendorSource

    One supplier.

  • List vendorsSourceIncremental

    Suppliers with contact details, balances and 1099 status.

  • Update vendorDestinationProvider duplicate protectionApproval before production

    Sparse update of a vendor using its Id and current SyncToken.

Access and limits

Authentication
QuickBooks OAuth 2.0 access token (com.intuit.quickbooks.accounting scope)
Plans and access
QuickBooks Online Simple Start, Essentials, Plus and Advanced. Entities follow the company subscription: purchase orders, classes, locations and inventory need Plus or Advanced.
Test environment
Intuit developer accounts include sandbox companies at sandbox-quickbooks.api.intuit.com.
Rate limits
500 requests per minute per company and 10 concurrent requests; HTTP 429 when exceeded.
Pagination
Query STARTPOSITION/MAXRESULTS paging with up to 1000 records per page.
Provider events
QuickBooks webhooks notify entity create, update and delete events. Flows can start the moment something happens: when a new customer is added; when an invoice is created; when an invoice is updated; when a payment is received.

Before you build a flow

  • QuickBooks Online customers only. Display-name matched writes use SyncToken concurrency and request IDs. OAuth access tokens expire. Desktop uses a separate connector.
  • Requests use minor version 75, the minimum QuickBooks serves since August 2025.
  • QuickBooks access tokens expire after one hour. Connections made through Nexra's QuickBooks sign-in are renewed automatically before they expire, using the refresh token held in the secure vault; a connection whose refresh is refused is marked as needing reconnection. A connection created by pasting an access token instead keeps using that token as-is.
  • Long Nexra idempotency keys are hashed to the documented 50-character requestid limit.
  • Custom fields are written as string custom fields (up to three per transaction); other custom field types are read only.
  • Tax codes are read without an updatedSince filter; QuickBooks does not document MetaData filtering for TaxCode.
  • Terms, tax rates and payment methods are listed without an updatedSince filter (small lists; MetaData filtering is not documented for them). Use changes.list for incremental sync of terms and payment methods.
  • Invoices are never emailed: Nexra never sets EmailStatus to NeedToSend and never calls the invoice or estimate send endpoints. A billing email can be stored on the invoice for later manual sending in QuickBooks. Customers cannot be set to the Email delivery preference through Nexra.
  • Searches use the QuickBooks query language built only from validated, quoted filters (IDs, references, document numbers, dates, balance, status, change time). There is no free-form query, and names and email addresses are never used as filters because the query is sent in the URL.
  • Change data capture (changes.list) looks back at most 30 days and returns at most 1000 records per call; it has no paging.
  • Reports (profit and loss, balance sheet, aged receivables, customer balance) are read only and returned as flattened rows with text values. Report parameter names follow Intuit's official PHP SDK report service; aged receivables department filtering is not offered because it is not confirmed.
  • Filterable query columns were checked against Intuit's open-source QuickBooks MCP server (derived from the entity reference); Intuit's interactive API reference could not be machine-read, so the time activity and estimate filters are limited to IDs, dates and change time.
  • Recording writes added for bookkeeping: bill_payments.create records a bill already paid outside QuickBooks (cheque or credit card; QuickBooks does not send money for it), deposits.create records funds already received into a bank account, vendor_credits.create records a supplier credit and exchange_rates.update sets the rate QuickBooks uses for a currency on a date. None of them moves money.
  • Exchange rates need multicurrency turned on in the company. A rate is identified by source currency and date (CUR:YYYY-MM-DD); QuickBooks has no separate ID for it.
  • Not implemented by design: transfers between accounts (read only), refund receipts (read only), voids, deletes and emailing (send) of invoices or estimates.
  • Reconciliation: QuickBooks Online's API has no bank feed or bank statement endpoint, so bank-side reads use deposits, transfers and bill payments (the transactions QuickBooks posts to bank accounts). QuickBooks Online has no sales orders; purchase orders are the order read.

Developer reference

  1. Create the Intuit credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose QuickBooks Online, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/quickbooks-online and the Connections API.