Bills

Delete bill

The Delete bill endpoint allows you to delete a specified bill from an accounting software.

Bills are itemized records of goods received or services provided to the SMB.

Process

  1. Pass the {billId} to the Delete bill endpoint and store the pushOperationKey returned.

  2. Check the status of the delete operation by checking the status of the push operation either via

    1. Push operation webhook (advised),
    2. Push operation status endpoint.

    A Success status indicates that the bill object was deleted from the accounting software.

  3. (Optional) Check that the bill was deleted from the accounting software.

Effect on related objects

Be aware that deleting a bill from an accounting software might cause related objects to be modified. For example, if you delete a paid bill in QuickBooks Online or QuickBooks Desktop, the bill is deleted but the bill payment against that bill is not. The bill payment is converted to a payment on account.

Integration specifics

Integrations that support soft delete do not permanently delete the object in the accounting software.

IntegrationSoft DeleteDetails
QuickBooks OnlineNo-
QuickBooks DesktopNo-
Oracle NetSuiteNoWhen deleting a bill that's already linked to a bill payment, you must delete the linked bill payment first.
Sage IntacctNoWhen deleting a bill that's already linked to a bill payment, you must delete the linked bill payment first.
XeroNoDraft bills will be deleted. Open bills will be voided instead of deleted since Xero only allows voiding a bill once it's been posted. When deleting a bill that's already linked to a bill payment, you must delete the linked bill payment first.

Supported Integrations

This functionality is currently supported for our QuickBooks Online, QuickBooks Desktop, Xero, Oracle NetSuite and Sage Intacct integrations.

delete/companies/{companyId}/connections/{connectionId}/push/bills/{billId}

Response

OK

changesPushOperationChange[] nullable— unresolved $ref

Contains a single entry that communicates which record has changed and the manner in which it changed.

dataType'accountTransactions' | 'balanceSheet' | 'bankAccounts' | 'bankTransactions' | 'billCreditNotes' | 'billPayments' | 'bills' | 'cashFlowStatement' | 'chartOfAccounts' | 'company' | 'creditNotes' | 'customers' | 'directCosts' | 'directIncomes' | 'invoices' | 'itemReceipts' | 'items' | 'journalEntries' | 'journals' | 'paymentMethods' | 'payments' | 'profitAndLoss' | 'purchaseOrders' | 'salesOrders' | 'suppliers' | 'taxRates' | 'trackingCategories' | 'transfers' | 'banking-accountBalances' | 'banking-accounts' | 'banking-transactionCategories' | 'banking-transactions' | 'commerce-companyInfo' | 'commerce-customers' | 'commerce-disputes' | 'commerce-locations' | 'commerce-orders' | 'commerce-paymentMethods' | 'commerce-payments' | 'commerce-productCategories' | 'commerce-products' | 'commerce-taxComponents' | 'commerce-transactions'

Available data types

companyIdSchema required— unresolved $ref
pushOperationKeystring uuid required

A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted.

dataConnectionKeySchema required— unresolved $ref
requestedOnUtcstring required

In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example:

2020-10-08T22:40:50Z
2021-01-01T00:00:00

When syncing data that contains DateTime fields from Codat, make sure you support the following cases when reading time information:

  • Coordinated Universal Time (UTC): 2021-11-15T06:00:00Z
  • Unqualified local time: 2021-11-15T01:00:00
  • UTC time offsets: 2021-11-15T01:00:00-05:00

Time zones

Not all dates from Codat will contain information about time zones.
Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.

completedOnUtcstring

In Codat's data model, dates and times are represented using the <a class="external" href="https://en.wikipedia.org/wiki/ISO_8601" target="_blank">ISO 8601 standard</a>. Date and time fields are formatted as strings; for example:

2020-10-08T22:40:50Z
2021-01-01T00:00:00

When syncing data that contains DateTime fields from Codat, make sure you support the following cases when reading time information:

  • Coordinated Universal Time (UTC): 2021-11-15T06:00:00Z
  • Unqualified local time: 2021-11-15T01:00:00
  • UTC time offsets: 2021-11-15T01:00:00-05:00

Time zones

Not all dates from Codat will contain information about time zones.
Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced.

timeoutInMinutesinteger nullable

Number of minutes the push operation must complete within before it times out.

timeoutInSecondsinteger nullable

Number of seconds the push operation must complete within before it times out.

statusPushOperationStatus required— unresolved $ref
errorMessagestring nullable

A message about the error.

validationValidation — unresolved $ref
statusCodeinteger required

Push status code.