---
title: "Delete bill payment"
method: DELETE
path: "/companies/{companyId}/connections/{connectionId}/push/billPayments/{billPaymentId}"
tags: ["Bill payments"]
---

# Delete bill payment

`DELETE /companies/{companyId}/connections/{connectionId}/push/billPayments/{billPaymentId}`

## Request

- Base URL: `https://api.codat.io`
- URL: `https://api.codat.io/companies/{companyId}/connections/{connectionId}/push/billPayments/{billPaymentId}`
- Auth: API key in header `Authorization`

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

[Bill payments](https://docs.codat.io/accounting-api#/schemas/BillPayment) are an allocation of money within any customer accounts payable account.

### Process
1. Pass the `{billPaymentId}` to the *Delete bill payment* 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](https://docs.codat.io/introduction/webhooks/core-rules-types#push-operation-status-has-changed) (advised),
   2. [Push operation status endpoint](https://docs.codat.io/codat-api#/operations/get-push-operation).

   A `Success` status indicates that the bill payment object was deleted from the accounting software.
3. (Optional) Check that the bill payment was deleted from the accounting software.

### Effect on related objects
Be aware that deleting a bill payment from an accounting software might cause related objects to be modified.

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

| Integration | Soft Delete | Details |
|-------------|-------------|---------|
| QuickBooks Online  | No  | -
| QuickBooks Desktop | No  | -
| Oracle NetSuite    | No  | See [here](/integrations/accounting/netsuite/accounting-netsuite-how-deleting-bill-payments-works) to learn more.
| Xero               | Yes | -     
| Sage Intacct       | No  | Some bill payments in Sage Intacct can only be deleted, whilst others can only be voided. Codat have applied logic to handle this complexity. 

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

## Response `200`

OK

- PushOperationSummary
  - `changes` PushOperationChange[], nullable: Contains a single entry that communicates which record has changed and the manner in which it changed. (unresolved $ref)
  - `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
  - `companyId` Schema, required (unresolved $ref)
  - `pushOperationKey` string, 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.
  - `dataConnectionKey` Schema, required (unresolved $ref)
  - `requestedOnUtc` string, 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.
  - `completedOnUtc` string: 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.
  - `timeoutInMinutes` integer, nullable: Number of minutes the push operation must complete within before it times out.
  - `timeoutInSeconds` integer, nullable: Number of seconds the push operation must complete within before it times out.
  - `status` PushOperationStatus, required (unresolved $ref)
  - `errorMessage` string, nullable: A message about the error.
  - `validation` Validation (unresolved $ref)
  - `statusCode` integer, required: Push status code.

## Other responses

- `401`: Your API request was not properly authorized.
- `402`: An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io.
- `403`: You are using an outdated API key or a key not associated with that resource.
- `404`: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted.
- `429`: Too many requests were made in a given amount of time. Wait a short period and then try again.
- `500`: There is a problem with our server. Please try again later.
- `503`: The Codat API is temporarily offline for maintenance. Please try again later.

## Changes

- **2024-02-13** `4bfab0afa6ca`: 7 info
  - added the optional property `validation` to the response with the `401` status
  - added the optional property `validation` to the response with the `402` status
  - added the optional property `validation` to the response with the `403` status
  - added the optional property `validation` to the response with the `404` status
  - …3 more
- **2023-12-15** `ba6ef154fd48`: 2 warning
  - added the new `itemReceipts` enum value to the `changes/items/recordRef/dataType` response property for the response status `200`
  - added the new `itemReceipts` enum value to the `dataType` response property for the response status `200`
- **2023-10-23** `948b47a54450`: 4 info
  - added the non-success response with the status `402`
  - added the non-success response with the status `403`
  - added the non-success response with the status `500`
  - added the non-success response with the status `503`

[Operation history](https://skmtc.dev/codatio/apis/accounting-api/changes/companies/:companyId/connections/:connectionId/push/billPayments/:billPaymentId/delete.md)

---

[API](https://skmtc.dev/codatio/apis/accounting-api.md) - [All operations](https://skmtc.dev/codatio/apis/accounting-api/llms.txt) - [OpenAPI document](https://skmtc.dev/codatio/apis/accounting-api/revisions/21d41189c461?raw)
