Invoices

Delete invoice

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

Invoices are itemized records of goods sold or services provided to a customer.

Process

  1. Pass the {invoiceId} to the Delete invoice endpoint and store the pushOperationKey returned.

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

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

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

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

Effect on related objects

Be aware that deleting an invoice from an accounting software might cause related objects to be modified. For example, if you delete a paid invoice from QuickBooks Online, the invoice is deleted but the payment against that invoice is not. The 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 Deleted
QuickBooks OnlineYes

Supported Integrations

This functionality is currently only supported for our QuickBooks Online integration. Check out our public roadmap to see what we're building next, and to submit ideas for new features. We're increasing support for object deletion across various accounting software and data types. You can check our Accounting API Public Product Roadmap for the latest status.

delete/companies/{companyId}/connections/{connectionId}/push/invoices/{invoiceId}

Path parameters

invoiceIdstring required
Example:13d946f0-c5d5-42bc-b092-97ece17923ab

Unique identifier for an invoice.

companyIdstring uuid required

Unique identifier for your SMB in Codat.

Example:8a210b68-6988-11ed-a1eb-0242ac120002

Unique identifier for a company.

connectionIdstring uuid required

Unique identifier for a company's data connection.

Example:2e9d2c44-f675-40ba-8049-353bfcb5e171

Unique identifier for a connection.

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.