Skip to main content
Nickel accounts can connect QuickBooks Online (or QuickBooks Desktop) from the integrations settings page. When QuickBooks is connected, Nickel keeps QuickBooks-originated records in sync automatically. This page explains what that means for objects you create through the API — in particular, when Nickel writes to your QuickBooks books and when it doesn’t, so you can keep your own bookkeeping without double-recording. If your account has no QuickBooks connection, none of this applies: nothing you do through the API touches QuickBooks.
In the API, a Nickel invoice is a payment link (POST /paymentLink). QuickBooks has its own invoice records — this page qualifies which system’s invoice it means wherever the two meet.

Receivables: invoices and payments

Whether a payment is recorded in QuickBooks depends on where the underlying invoice came from:
  • Invoices that came from QuickBooks (imported through the integration, or created in Nickel against a QuickBooks-synced customer with QuickBooks line items) are linked to their QuickBooks counterpart. When such an invoice is paid through Nickel, Nickel records the payment against that invoice in QuickBooks — exactly one payment transaction, deposited to your configured account. Don’t also record these manually, or you’ll double-count.
  • Invoices created through this API (POST /paymentLink) are Nickel-native and have no QuickBooks counterpart. Payments made on them are never recorded in QuickBooks by Nickel. If you keep your books in QuickBooks, record these payments yourself — Nickel won’t duplicate them.
Customers created via POST /customer exist only in Nickel by default; pass syncToQbo: true to also create the customer in QuickBooks Online. This affects only the customer record — it does not cause payments on API-created invoices to sync.

Payables: vendors, bills, and bill payments

  • Vendors created via POST /vendor exist only in Nickel by default. Pass syncToQbo: true to also create the vendor in QuickBooks Online at creation time. Vendors that already exist in QuickBooks are imported into Nickel automatically and stay linked.
  • Bills created via POST /bill exist only in Nickel. They are never created in QuickBooks, and their attachments are not uploaded to QuickBooks. (Bills from a connected QuickBooks account are imported into Nickel automatically and appear alongside API-created bills in GET /bill.)
  • Bill payments follow the bill. Paying a bill that was imported from QuickBooks records the bill payment in QuickBooks automatically (QuickBooks Online and Desktop both). Paying an API-created bill records nothing in QuickBooks — book the expense yourself.

Summary

With QuickBooks connected, for objects created purely through this API:
You do this via the APINickel writes to QuickBooks
Create an invoice; a customer pays itNothing
Mark an invoice paid, refund a paymentNothing
Create a customer or vendor (default)Nothing
Create a customer or vendor with syncToQbo: trueThe customer / vendor record
Create a billNothing
Pay an API-created billNothing
Pay a QuickBooks-imported billThe bill payment, applied to that bill
Nickel never creates standalone deposits, sales receipts, or journal entries for API activity — the rows above are the complete set of QuickBooks writes.