Quickbooks API Integration Vol.2

These are the list of integration use cases supported by Knit for Quickbooks API as part of the ACCOUNTING category


Send a Credit Memo

  • ID: post_send_credit_memo
  • Operation: write
  • Entities: credit memo, email address, customer
  • Summary: The 'Send a Credit Memo' API allows users to send a credit memo to a specified email address. The API endpoint is a POST request to the URL 'https://quickbooks.api.intuit.com/v3/company//creditmemo//send'. The request requires the 'Content-Type' header to be set to 'application/octet-stream'. The 'realmID' and 'creditmemoId' are required path parameters, while the 'sendTo' query parameter is optional and specifies the email address to send the credit memo to. The response includes a detailed 'CreditMemo' object with information such as transaction date, delivery info, total amount, line items, customer memo, and more. The 'EmailStatus' is set to 'EmailSent' upon successful sending of the credit memo.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send an Estimate

  • ID: post_send_estimate
  • Operation: write
  • Entities: delivery info, bill email, estimate
  • Summary: The 'Send an Estimate' API allows users to send an estimate to a specified email address. The API endpoint is a POST request to the URL 'https://quickbooks.api.intuit.com/v3/company//estimate//send'. The request requires the 'realmID' and 'estimateId' as path parameters, and optionally accepts a 'sendTo' query parameter to specify the recipient's email address. The request header must include 'Content-Type: application/octet-stream'. Upon successful execution, the API returns the estimate response body with updated 'EmailStatus' set to 'EmailSent', and 'DeliveryInfo' populated with sending information. The response includes detailed information about the estimate, such as transaction date, status, total amount, line items, customer details, and more.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send an Invoice

  • ID: post_send_invoice
  • Operation: write
  • Entities: delivery info, invoice, bill email address
  • Summary: The 'Send an Invoice' API allows users to send an invoice to a specified email address. The API endpoint is a POST request to 'https://quickbooks.api.intuit.com/v3/company//invoice//send'. The request requires the 'Content-Type' header to be set to 'application/octet-stream'. The 'realmID' and 'invoiceId' are required path parameters, while the 'sendTo' query parameter is optional and specifies the email address to send the invoice to. The response includes detailed information about the invoice, such as transaction date, currency, shipping details, line items, total amount, and more. The 'EmailStatus' is updated to 'EmailSent', and the 'DeliveryInfo' is populated with sending information. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send a purchase order

  • ID: post_send_purchase_order
  • Operation: write
  • Entities: email, purchase order, vendor
  • Summary: This API sends a purchase order to a specified email address. The request requires the realm ID and purchase order ID as path parameters. Optionally, a 'sendTo' query parameter can be specified to send the purchase order to a different email address. The content type of the request must be 'application/octet-stream'. The response includes the purchase order details, such as document number, sync token, email address, accounts payable reference, currency reference, transaction date, total amount, shipping address, domain, ID, status, vendor reference, line items, custom fields, vendor address, and metadata. The email status is set to 'EmailSent'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send a refund receipt

  • ID: post_send_refund_receipt
  • Operation: write
  • Entities: delivery info, refund receipt, bill email address
  • Summary: The 'Send a refund receipt' API allows users to send a refund receipt to a specified email address. The API endpoint requires the realm ID and refund receipt ID as path parameters. Optionally, a 'sendTo' query parameter can be provided to specify the email address to which the refund receipt should be sent. The request must include a 'Content-Type' header set to 'application/octet-stream'. The response includes detailed information about the refund receipt, such as transaction date, total amount, line items, customer memo, and billing email address. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send a SalesReceipt

  • ID: post_send_salesreceipt
  • Operation: write
  • Entities: sales receipt, delivery info, email address
  • Summary: The 'Send a SalesReceipt' API allows you to send a sales receipt via email. The API endpoint is POST /v3/company//salesreceipt//send. You can specify the email address to send the receipt to using the 'sendTo' query parameter. The request requires the 'Content-Type' header to be set to 'application/octet-stream'. The response includes the sales receipt details, such as document number, sync token, balance, transaction date, total amount, currency, and more. The 'EmailStatus' parameter is set to 'EmailSent', and the 'DeliveryInfo' element is populated with sending information. The 'BillEmail.Address' parameter is updated to the address specified with the 'sendTo' query parameter, if provided.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse Update and Transfer

  • ID: post_sparse_update_and_transfer
  • Operation: write
  • Entities: transfer, account, amount
  • Summary: The Sparse Update and Transfer API allows for updating a subset of properties for a given object in QuickBooks. Only the elements specified in the request are updated, while missing elements remain unchanged. The API requires the ID of the object to update, specified in the request body. The request body must include the SyncToken, domain, ToAccountRef, Amount, sparse flag, Id, and FromAccountRef. The response includes the updated transfer details, including SyncToken, domain, transaction date, account references, amount, sparse flag, object ID, and metadata with creation and last updated times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse Update Company Information

  • ID: post_sparse_update_company_information
  • Operation: write
  • Entities: address, company info, industry
  • Summary: The Sparse Update Company Information API allows for updating a subset of properties for a given company object in QuickBooks Online. Only the elements specified in the request body are updated, while missing elements remain unchanged. The API requires the unique identifier (Id) and the SyncToken for the object to be updated. The request body must include the CompanyName and CompanyAddr, which are required fields for the update. The API returns the updated company information, including details such as the legal address, supported languages, company name, and metadata about the object. This API is available with minor version 11.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse update a credit card payment

  • ID: post_sparse_update_credit_card_payment
  • Operation: write
  • Entities: credit card account, credit card payment, bank account
  • Summary: This API allows for sparse updating of a credit card payment in QuickBooks. Sparse updating means that only the properties specified in the request are updated, while missing elements remain unchanged. The request body must include the transaction date, amount, bank account reference, credit card account reference, and the ID of the object to update. Optional fields include a private note and the name of the referenced accounts. The response returns the updated credit card payment transaction details, including metadata such as creation and last updated times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse update a customer

  • ID: post_sparse_update_customer
  • Operation: write
  • Entities: phone number, address, customer
  • Summary: The Sparse update a customer API allows for updating a subset of properties for a customer object in QuickBooks. Only the elements specified in the request body are updated, while missing elements remain unchanged. The request requires the 'Id' and 'SyncToken' fields for concurrency control. Optional fields include 'DisplayName', 'Title', 'GivenName', 'MiddleName', 'FamilyName', 'Suffix', 'PrimaryEmailAddr', 'BillAddr', 'CompanyName', and 'Active'. The response returns the updated customer object with details such as 'DisplayName', 'PrimaryEmailAddr', 'PreferredDeliveryMethod', 'GivenName', 'FullyQualifiedName', 'BillWithParent', 'Job', 'BalanceWithJobs', 'PrimaryPhone', 'Active', 'MetaData', 'BillAddr', 'MiddleName', 'Taxable', 'Balance', 'SyncToken', 'CompanyName', 'FamilyName', 'PrintOnCheckName', and 'Id'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse Update a Deposit

  • ID: post_sparse_update_deposit
  • Operation: write
  • Entities: deposit, account, line item
  • Summary: The Sparse Update a Deposit API allows for updating a subset of properties for a deposit object in QuickBooks. Only the elements specified in the request are updated, while missing elements remain unchanged. The request requires a unique identifier for the deposit object, a reference to the account used for the deposit, and a sync token for version control. The response includes the updated deposit object with details such as the total amount, line items, and metadata about the creation and last update times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse update an estimate

  • ID: post_sparse_update_estimate
  • Operation: write
  • Entities: address, estimate, customer
  • Summary: The Sparse update an estimate API allows updating a subset of properties for an estimate object in QuickBooks. Only the elements specified in the request body are updated, while missing elements remain unchanged. The request requires the unique identifier (Id) of the estimate and the SyncToken for concurrency control. The API accepts various optional fields such as CustomerMemo, MetaData, and sparse flag to indicate a sparse update. The response includes the updated estimate details, including transaction date, status, total amount, line items, and customer references. The API is accessed via a POST request to the QuickBooks API endpoint with the realm ID specified in the path.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse update an invoice

  • ID: post_sparse_update_invoice
  • Operation: write
  • Entities: line item, invoice, customer
  • Summary: The Sparse update an invoice API allows updating a subset of properties for an invoice object in QuickBooks. Only the elements specified in the request are updated, while missing elements remain unchanged. The API requires the unique identifier (Id) of the invoice and the SyncToken for concurrency control. The request body can include various fields such as DueDate, Line items, CustomerRef, and more. The response returns the updated invoice details, including transaction date, total amount, line items, customer reference, and metadata. This API is useful for making partial updates to invoices without affecting other fields.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse Update a Journal Entry

  • ID: post_sparse_update_journal_entry
  • Operation: write
  • Entities: line item, journal entry, tax detail
  • Summary: The Sparse Update a Journal Entry API allows for updating a subset of properties for a given journal entry object in QuickBooks. Only the elements specified in the request are updated, while missing elements remain unchanged. The API requires the unique identifier (Id) of the journal entry to be updated, along with a SyncToken to ensure the object is locked for use by one app at a time. The request body can include optional fields such as TxnDate, PrivateNote, and Adjustment. The response returns the updated journal entry object, including details such as DocNumber, Line items, and MetaData indicating creation and last update times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse update a refund receipt

  • ID: post_sparse_update_refund_receipt
  • Operation: write
  • Entities: refund receipt, account, line item
  • Summary: The 'Sparse update a refund receipt' API allows for updating a subset of properties for a given refund receipt object in QuickBooks. Only the elements specified in the request body are updated, while missing elements remain unchanged. The API requires the unique identifier (Id) of the refund receipt to be updated, along with a SyncToken to ensure the object is locked for use by one app at a time. The request body can include various optional fields such as PrivateNote, CustomerMemo, and more. The response includes the updated refund receipt details, including transaction date, total amount, line items, and metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Sparse Update a SalesReceipt

  • ID: post_sparse_update_salesreceipt
  • Operation: write
  • Entities: sales receipt, line item, customer
  • Summary: The Sparse Update a SalesReceipt API allows for updating a subset of properties for a sales receipt object in QuickBooks. Only the elements specified in the request are updated, while missing elements remain unchanged. The API requires the unique identifier (Id) of the sales receipt and the SyncToken for concurrency control. The request body includes line items with details such as DetailType, Amount, Description, and SalesItemLineDetail. The response returns the updated sales receipt with details like DocNumber, Balance, TotalAmt, and Line items. This API is useful for making partial updates to sales receipts without affecting other properties.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update a Category

  • ID: post_update_a_category
  • Operation: write
  • Entities: reference, category, item
  • Summary: This API operation updates the writable fields of an existing category object in QuickBooks Online. The category to be updated is specified by its unique ID in the request body. The request must include the SyncToken to ensure the object is locked for use by one app at a time. The API requires the category's name, type, and optionally, whether it is a sub-category. The response returns the updated category object, including its metadata such as creation and last updated times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update a CompanyCurrency

  • ID: post_update_companycurrency
  • Operation: write
  • Entities: custom field, company currency, metadata
  • Summary: This API operation updates the writable fields of an existing CompanyCurrency object in QuickBooks Online. The request body must include all writable fields of the existing object as returned in a read response. Fields omitted from the request body are set to NULL. The ID of the object to update is specified in the request body. The API requires the 'realmID' as a path parameter and the request must be in JSON format. The response includes the updated CompanyCurrency object with its metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update an exchangerate

  • ID: post_update_exchangerate
  • Operation: write
  • Entities: currency, custom field, exchange rate
  • Summary: The 'Update an exchangerate' API allows users to update the exchange rate between two currencies for a specific date. The request requires a SyncToken, AsOfDate, SourceCurrencyCode, and Rate. The TargetCurrencyCode is optional and defaults to the home currency if not provided. The API ensures that the exchange rate is set to 1 if the SourceCurrencyCode equals the TargetCurrencyCode. Attempting to set an exchange rate for the home currency results in a validation error. The response includes the updated exchange rate details and metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update an Inventory Adjustment

  • ID: post_update_inventory_adjustment
  • Operation: write
  • Entities: account, inventory adjustment, item
  • Summary: This API updates an inventory adjustment object in QuickBooks. The request requires a minimum of InventoryAdjustment.Id and InventoryAdjustment.SyncToken in the request body. The sparse attribute must be set to true. The request body includes details such as AdjustAccountRef, Line items, and optional fields like PrivateNote and TxnDate. The response returns the updated inventory adjustment details including DocNumber, TxnDate, PrivateNote, SyncToken, and other metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update a Journal Code

  • ID: post_update_journal_code
  • Operation: write
  • Entities: journal code, custom field, metadata
  • Summary: This API is used to update an active journal code object or deactivate a currently active one in the Intuit system. The request requires a unique identifier (Id), a name for the journal code, and a sync token for the update operation. Optional fields include a description, custom fields, and metadata. The response returns the updated journal code details including its name, type, and metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Upload Attachments

  • ID: post_upload_attachments
  • Operation: write
  • Entities: note, attachment, custom field
  • Summary: The Upload Attachments API allows the app to upload one or more attachments, with or without associated metadata, via a multipart/form-data request. The request body must include the AttachableRef to specify the transaction object to which the file is linked, the ContentType of the file, and the FileName. The response includes details about the uploaded attachment, such as its SyncToken, domain, FileAccessUri, and metadata like creation and last updated times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Void a Payment

  • ID: post_void_a_payment
  • Operation: write
  • Entities: deposit, payment, customer
  • Summary: The 'Void a Payment' API allows you to void an existing Payment object in QuickBooks. This operation requires a sparse update with the 'include=void' parameter. The request must include the Payment.Id and Payment.SyncToken. Upon voiding, the transaction remains active, but all amounts and quantities are zeroed, and the string 'Voided' is added to the Payment.PrivateNote. If the payment funds have been deposited, the associated deposit object must be deleted before voiding the payment. The API endpoint is a POST request to 'https://quickbooks.api.intuit.com/v3/company//payment?operation=update&include=void'. The request body must include the SyncToken, Id, and sparse flag. The response returns the updated Payment object with zeroed amounts and a 'Voided' note.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Void a SalesReceipt

  • ID: post_void_a_salesreceipt
  • Operation: write
  • Entities: deposit, sales receipt, customer
  • Summary: This API is used to void an existing SalesReceipt object in QuickBooks Online. The operation requires a sparse update with the 'include=void' parameter. The request must include the SalesReceipt's Id and SyncToken. The transaction remains active, but all amounts and quantities are zeroed, and the string 'Voided' is added to the SalesReceipt's PrivateNote. If the sales receipt is paid and funds have been deposited, the associated deposit object must be deleted before voiding the sales receipt. The API endpoint is a POST request to the QuickBooks API with the specified realmID and query parameters. The response includes the updated SalesReceipt object with zeroed amounts and a 'Voided' status.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Void a BillPayment

  • ID: post_void_billpayment
  • Operation: write
  • Entities: account, bill payment, vendor
  • Summary: The 'Void a BillPayment' API allows users to void an existing BillPayment object in QuickBooks. This operation zeroes all amounts and quantities, clears all lines, and injects the string 'Voided' into the BillPayment's PrivateNote. The request requires a minimum of BillPayment.Id and BillPayment.SyncToken in the body. The response includes details of the voided BillPayment, such as DocNumber, VendorRef, TotalAmt, and more. The API uses a sparse update operation with the include=void parameter.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Void an Invoice

  • ID: post_void_invoice
  • Operation: write
  • Entities: address, invoice, line
  • Summary: The 'Void an Invoice' API operation allows you to void an existing invoice in QuickBooks Online. To perform this operation, you must provide the Invoice ID and the current SyncToken. The transaction remains active, but all amounts and quantities are set to zero, and the string 'Voided' is added to the Invoice's PrivateNote. The request is made to the endpoint 'https://quickbooks.api.intuit.com/v3/company//invoice?operation=void' using the POST method. The request body must include the 'SyncToken' and 'Id' of the invoice. The response includes detailed information about the voided invoice, such as the total amount, line items, customer reference, and more. The response also indicates whether online payments are allowed for the invoice and provides metadata about the creation and last update times.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Read a bill

  • ID: retrieve_accounts_payable_invoice_details
  • Operation: read
  • Entities:
  • Summary: The 'Read a bill' API retrieves the details of a previously created bill in QuickBooks. It requires the 'realmID' and 'billId' as path parameters to identify the specific bill. The request must include the 'Content-Type' header set to 'application/json'. The response includes detailed information about the bill, such as the sync token, domain, accounts payable account reference, vendor reference, transaction date, total amount, currency reference, linked transactions, sales term reference, due date, line items, balance, and metadata including creation and last updated times. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Read a JournalEntry

  • ID: retrieve_journal_entry_details
  • Operation: read
  • Entities:
  • Summary: The 'Read a JournalEntry' API retrieves the details of a previously created JournalEntry in QuickBooks. It requires the realmID and journalentryId as path parameters to identify the specific JournalEntry. The request must include an Authorization header with a valid OAuth 2.0 token. The response includes detailed information about the JournalEntry, such as transaction date, line items with descriptions, posting types, account references, and entity details. The response also contains metadata about the creation and last update times of the JournalEntry.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Read a Billpayment

  • ID: retrieve_vendor_payment_details
  • Operation: read
  • Entities:
  • Summary: The 'Read a Billpayment' API retrieves the details of a previously created billpayment in QuickBooks. It requires the 'realmID' and 'billpaymentId' as path parameters to identify the specific billpayment. The request must include the 'Content-Type' header set to 'application/text'. The response includes detailed information about the billpayment, such as the vendor reference, transaction date, total amount, payment type, and metadata including creation and last updated times. The response is structured with a 'BillPayment' object containing all relevant details.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Full update a journal entry

  • ID: update_journal_entry_information
  • Operation: write
  • Entities:
  • Summary: This API is used to fully update a JournalEntry object in QuickBooks. It allows updating any writable fields of an existing JournalEntry, including all lines. The request body must include all writable fields of the existing object, and any omitted fields are set to NULL. The ID of the object to update is specified in the request body. The API requires a SyncToken for concurrency control and supports multicurrency transactions. The response includes the updated JournalEntry object with details such as SyncToken, domain, transaction date, line items, and metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields