---
title: "Update a Bill"
method: PUT
path: "/v2/accounting/bills/{id}"
tags: ["BillControllerV2", "Bills"]
---

# Update a Bill

`PUT /v2/accounting/bills/{id}`

## Request

- Base URL: `https://api.railz.ai`
- URL: `https://api.railz.ai/v2/accounting/bills/{id}`
- Auth: HTTP bearer

**Supported for:**

`quickbooks` `xero` `oracleNetsuite` `sageBusinessCloud` `sageIntacct` `myob`

## Path parameters

- `id` string, required

## Request body

- UpdateBillsV2Dto
  - `connectionUuid` string, required: Unique connection identifier.
  - `data` UpdateBillsV2, required
    - `vendorInvoiceNumber` string
    - `postedDate` string, date
    - `dueDate` string, date
    - `currencyRate` number, float
    - `memo` string
    - `vendorRef` VendorRefDto, required
      - `id` string, required
    - `currency` string
    - `subsidiaryRefs` SubsidiaryRefDto[]
      - `id` string, required
    - `lines` UpdateBillLineItemV2[], required
      - `description` string
      - `unitAmount` number, float, required
      - `quantity` number, float, required
      - `billableStatus` 'billable' | 'notBillable' | 'hasBeenBilled'
      - `customerRef` CustomerObjectRefDto
        - `id` string, required
      - `id` string
      - `accountRef` AccountRefDto
        - `id` string, required
      - `trackingCategoryRefs` BillTrackingCategoryRefDto[]
        - `id` string, required
        - `type` 'class' | 'department' | 'location' | 'unknown'
      - `discountPercentage` number, float
      - `inventoryRef` InventoryRefDto
        - `id` string, required
      - `taxRateRef` TaxRateRefDto
        - `id` string, required
      - `taxAmount` number, float
    - `purchaseOrderRefs` PurchaseOrderRefDto[]
      - `id` string, required
    - `passThrough` object
    - `billType` 'item' | 'service' | 'professional' | 'miscellaneous'

## Response `200`

- UpdateBillsResponseV2Dto
  - `connectionUuid` string, required
  - `businessName` string, required
  - `serviceName` 'freshbooks' | 'quickbooks' | 'quickbooksDesktop' | 'xero' | 'oracleNetsuite' | 'sageBusinessCloud' | 'sageIntacct' | 'dynamicsBusinessCentral' | 'dynamics365Finance' | 'wave' | 'myob' | 'zohoBooks' | 'byod', required
  - `pushCommunicationId` string, required
  - `requestedOn` string, date-time, required
  - `status` 'success' | 'failed' | 'pending', required
  - `data` UpdateBillsV2, required
    - `vendorInvoiceNumber` string
    - `postedDate` string, date
    - `dueDate` string, date
    - `currencyRate` number, float
    - `memo` string
    - `vendorRef` VendorRefDto, required
      - `id` string, required
    - `currency` string
    - `subsidiaryRefs` SubsidiaryRefDto[]
      - `id` string, required
    - `lines` UpdateBillLineItemV2[], required
      - `description` string
      - `unitAmount` number, float, required
      - `quantity` number, float, required
      - `billableStatus` 'billable' | 'notBillable' | 'hasBeenBilled'
      - `customerRef` CustomerObjectRefDto
        - `id` string, required
      - `id` string
      - `accountRef` AccountRefDto
        - `id` string, required
      - `trackingCategoryRefs` BillTrackingCategoryRefDto[]
        - `id` string, required
        - `type` 'class' | 'department' | 'location' | 'unknown'
      - `discountPercentage` number, float
      - `inventoryRef` InventoryRefDto
        - `id` string, required
      - `taxRateRef` TaxRateRefDto
        - `id` string, required
      - `taxAmount` number, float
    - `purchaseOrderRefs` PurchaseOrderRefDto[]
      - `id` string, required
    - `passThrough` object
    - `billType` 'item' | 'service' | 'professional' | 'miscellaneous'

## Other responses

- `400`: Bad Request Error - Thrown if fields sent via query does not follow specifications
- `401`: Unauthorized - Not logged in or log in expired
- `403`: Forbidden - Not enough permission
- `500`: Server Error

## Changes

- **2026-09-03** `1383b9a47ac9`: 1 info
  - api tag `BillControllerV2` added
- **2026-08-10** `5cdfae3fa1fa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/changes/v2/accounting/bills/:id/put.md)

---

[API](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api.md) - [All operations](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/railz/apis/fis-accounting-data-as-a-service-api/revisions/1383b9a47ac9?raw)
