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. Accounts with deposit sync enabled route these payments through Undeposited Funds instead, and Nickel then records one QuickBooks Deposit into your configured account when the corresponding bank payout settles, so your bank feed matches it automatically. Don’t also record these manually, or you’ll double-count. Recording an external payment on such an invoice (or marking it paid) records a payment for that amount in QuickBooks too, deposited to a “Paid outside Nickel” account — no money moved through Nickel, so it never touches your bank-account balances. Voiding the record reverses that QuickBooks payment.
  • 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: Nickel never creates sales receipts or journal entries for API activity, and the only Deposits it ever creates are the payout-settlement deposits described above for deposit-sync-enabled accounts (always linked to Nickel-recorded payments, never standalone) — the rows above are otherwise the complete set of QuickBooks writes.