---
title: "Changes to Update Bill record (partial)"
method: PATCH
path: "/public/v2/bills/{record_number}/"
---

# Changes to Update Bill record (partial)

`PATCH /public/v2/bills/{record_number}/`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 15 of 37 revisions.

- **2026-10-15** `238fe9120a75`: 5 info
- **2026-10-14** `3d645439b1e4`: 1 warning, 1 info
- **2026-10-06** `f8de2ceea61d`: 1 breaking, 1 warning, 6 info
- **2026-10-01** `8f0a589ca348`: 8 breaking, 8 info
- **2026-09-29** `4b2d6ee0dff6`: 10 info
- **2026-09-26** `9f0ddd3870e6`: 2 info
- **2026-09-22** `16adf1baac76`: 20 info
- **2026-09-18** `5bd4dbaf2e9c`: 4 info
- **2026-09-03** `8efa315ecf0c`: 3 info
- **2026-08-28** `48edcb3acb74`: 4 warning, 5 info
- **2026-08-22** `dcb8297898a2`: 2 breaking, 18 info
- **2026-08-19** `f338ec8b3f52`: 1 info
- **2026-08-12** `34b7cf5b4b6c`: 1 info
- **2026-08-05** `525a590a98f8`: 4 info
- **2026-07-26** `64136e8e19bb`: 2 breaking, 7 info

## Changes

- **2026-10-15** `238fe9120a75`: 5 info
  - added the new optional request property `expenses/items/custom_fields`
  - added the new optional request property `items/items/custom_fields`
  - added the optional property `custom_fields/items/field/applies_to/items/layer` to the response with the `200` status
  - added the optional property `expenses/items/custom_fields` to the response with the `200` status
  - added the optional property `items/items/custom_fields` to the response with the `200` status
- **2026-10-14** `3d645439b1e4`: 1 warning, 1 info
  - the `memo` request property's maxLength was set to `512`
  - added the new optional request property `auto_calculate_tax`
- **2026-10-06** `f8de2ceea61d`: 1 breaking, 1 warning, 6 info
  - removed the required property `tax_metadata/anyOf[subschema #1: RecordTaxMetadata -> #/components/schemas/RecordTaxMetadata]/avalara` from the response with the `200` status
  - removed the request property `tax_metadata/anyOf[subschema #1: RecordTaxMetadata -> #/components/schemas/RecordTaxMetadata]/avalara`
  - added the optional property `created_by/anyOf[subschema #1: AuditActorSchemaOut]/agent_id` to the response with the `200` status
  - added the optional property `created_by/anyOf[subschema #1: AuditActorSchemaOut]/agent_name` to the response with the `200` status
  - added the optional property `created_by/anyOf[subschema #1: AuditActorSchemaOut]/via` to the response with the `200` status
  - added the optional property `updated_by/anyOf[subschema #1: AuditActorSchemaOut]/agent_id` to the response with the `200` status
  - added the optional property `updated_by/anyOf[subschema #1: AuditActorSchemaOut]/agent_name` to the response with the `200` status
  - added the optional property `updated_by/anyOf[subschema #1: AuditActorSchemaOut]/via` to the response with the `200` status
- **2026-10-01** `8f0a589ca348`: 8 breaking, 8 info
  - the response property `ship_from_address/anyOf[subschema #1: AddressSchemaOut]/country` became optional for the status `200`
  - the response property `ship_from_address/anyOf[subschema #1: AddressSchemaOut]/second_line` became optional for the status `200`
  - the response property `ship_from_address/anyOf[subschema #1: AddressSchemaOut]/state` became optional for the status `200`
  - the response property `ship_to_address/anyOf[subschema #1: AddressSchemaOut]/country` became optional for the status `200`
  - the response property `ship_to_address/anyOf[subschema #1: AddressSchemaOut]/second_line` became optional for the status `200`
  - the response property `ship_to_address/anyOf[subschema #1: AddressSchemaOut]/state` became optional for the status `200`
  - the `ship_from_address/anyOf[subschema #1: AddressSchemaOut]/country` response's property type changed from `string` to no type for status `200`
  - the `ship_to_address/anyOf[subschema #1: AddressSchemaOut]/country` response's property type changed from `string` to no type for status `200`
  - added `#/components/schemas/SystemCountries, subschema #1` to the `ship_from_address/anyOf[subschema #1: AddressSchemaOut]/country` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/SystemCountries, subschema #1` to the `ship_to_address/anyOf[subschema #1: AddressSchemaOut]/country` response property `anyOf` list for the response status `200`
  - the `country` response's property default value `` was added for the status `200`
  - the `country` response's property default value `` was added for the status `200`
  - the `second_line` response's property default value `` was added for the status `200`
  - the `second_line` response's property default value `` was added for the status `200`
  - the `state` response's property default value `` was added for the status `200`
  - the `state` response's property default value `` was added for the status `200`
- **2026-09-29** `4b2d6ee0dff6`: 10 info
  - added the optional property `error_code` to the response with the `400` status
  - added the optional property `error_code` to the response with the `404` status
  - added the optional property `error_code` to the response with the `422` status
  - added the optional property `error_code` to the response with the `500` status
  - added the optional property `error_reason` to the response with the `400` status
  - added the optional property `error_reason` to the response with the `404` status
  - added the optional property `error_reason` to the response with the `422` status
  - added the optional property `error_reason` to the response with the `500` status
  - added the optional property `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/valid_to` to the response with the `200` status
  - added the optional property `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/valid_to` to the response with the `200` status
- **2026-09-26** `9f0ddd3870e6`: 2 info
  - added the optional property `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/rate_description` to the response with the `200` status
  - added the optional property `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/rate_description` to the response with the `200` status
- **2026-09-22** `16adf1baac76`: 20 info
  - added the new optional request property `expenses/items/billable_customer_id`
  - added the new optional request property `expenses/items/billable_markup_pct`
  - added the new optional request property `expenses/items/billable_project_id`
  - added the new optional request property `expenses/items/is_billable`
  - added the new optional request property `items/items/billable_customer_id`
  - added the new optional request property `items/items/billable_markup_pct`
  - added the new optional request property `items/items/billable_project_id`
  - added the new optional request property `items/items/is_billable`
  - added the optional property `expenses/items/billable_customer_id` to the response with the `200` status
  - added the optional property `expenses/items/billable_customer_name` to the response with the `200` status
  - added the optional property `expenses/items/billable_markup_pct` to the response with the `200` status
  - added the optional property `expenses/items/billable_project_id` to the response with the `200` status
  - added the optional property `expenses/items/billable_project_name` to the response with the `200` status
  - added the optional property `expenses/items/is_billable` to the response with the `200` status
  - added the optional property `items/items/billable_customer_id` to the response with the `200` status
  - added the optional property `items/items/billable_customer_name` to the response with the `200` status
  - added the optional property `items/items/billable_markup_pct` to the response with the `200` status
  - added the optional property `items/items/billable_project_id` to the response with the `200` status
  - added the optional property `items/items/billable_project_name` to the response with the `200` status
  - added the optional property `items/items/is_billable` to the response with the `200` status
- **2026-09-18** `5bd4dbaf2e9c`: 4 info
  - added the new optional request property `tax_metadata`
  - added the optional property `ship_from_address` to the response with the `200` status
  - added the optional property `ship_to_address` to the response with the `200` status
  - added the optional property `tax_metadata` to the response with the `200` status
- **2026-09-03** `8efa315ecf0c`: 3 info
  - added the new optional request property `place_of_supply`
  - added the new optional request property `supply_date`
  - added the new optional request property `tax_registration_numbers`
- **2026-08-28** `48edcb3acb74`: 4 warning, 5 info
  - removed the optional property `expenses_count` from the response with the `200` status
  - removed the optional property `expenses_has_more` from the response with the `200` status
  - removed the optional property `items_count` from the response with the `200` status
  - removed the optional property `items_has_more` from the response with the `200` status
  - api operation id `patch_BillV2_record` removed and replaced with `patch_Bill_record`
  - the response property `expenses` became required for the status `200`
  - the response property `items` became required for the status `200`
  - the `expenses` response's property default value `` was removed for the status `200`
  - the `items` response's property default value `` was removed for the status `200`
- **2026-08-22** `dcb8297898a2`: 2 breaking, 18 info
  - the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response's property type changed from `string` to no type for status `200`
  - the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response's property type changed from `string` to no type for status `200`
  - added `#/components/schemas/GstComponentType, #/components/schemas/TaxFamily` to the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/GstComponentType, #/components/schemas/TaxFamily` to the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property `anyOf` list for the response status `200`
  - removed the `CESS` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `CESS` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `CGST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `CGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `GST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `GST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `HST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `HST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `IGST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `IGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `PST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `PST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `QST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `QST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `SGST` enum value from the `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
  - removed the `SGST` enum value from the `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_components/items/component_type` response property for the response status `200`
- **2026-08-19** `f338ec8b3f52`: 1 info
  - added the optional property `code` to the response with the `200` status
- **2026-08-12** `34b7cf5b4b6c`: 1 info
  - added the new optional `header` request parameter `Idempotency-Key`
- **2026-08-05** `525a590a98f8`: 4 info
  - added the new optional request property `expenses/items/tax/anyOf[subschema #1: ItemTaxData]/tax_metadata`
  - added the new optional request property `items/items/tax/anyOf[subschema #1: ItemTaxData]/tax_metadata`
  - added the optional property `expenses/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_metadata` to the response with the `200` status
  - added the optional property `items/items/tax/anyOf[subschema #1: ItemTaxDataOut]/tax_metadata` to the response with the `200` status
- **2026-07-26** `64136e8e19bb`: 2 breaking, 7 info
  - the response property `expenses` became optional for the status `200`
  - the response property `items` became optional for the status `200`
  - api operation id `patch_Bill_record` removed and replaced with `patch_BillV2_record`
  - added the optional property `expenses_count` to the response with the `200` status
  - added the optional property `expenses_has_more` to the response with the `200` status
  - added the optional property `items_count` to the response with the `200` status
  - added the optional property `items_has_more` to the response with the `200` status
  - the `expenses` response's property default value `` was added for the status `200`
  - the `items` response's property default value `` was added for the status `200`

---

[Operation](https://skmtc.dev/dualentry/apis/dualentry-public-api/docs/public/v2/bills/:record_number/patch.md) · [API](https://skmtc.dev/dualentry/apis/dualentry-public-api.md) · [Page](https://skmtc.dev/dualentry/apis/dualentry-public-api/changes/public/v2/bills/:record_number/patch)
