---
title: "Update an invoice"
method: PATCH
path: "/invoices/{invoice_id}"
tags: ["Invoices"]
---

# Update an invoice

`PATCH /invoices/{invoice_id}`

Update an invoice[Only CUSTOM invoices in DRAFT state support updating of all fields]. Updating status can be done for all invoice.

## Path parameters

- `invoice_id` string, required

## Request body

- UpdateInvoiceRequest — Payload to update an invoice
  - `startDate` string, date-time
  - `endDate` string, date-time
  - `status` 'DUE' | 'PAID' | 'VOID' | 'UN_COLLECTIBLE' | 'REFUND_INITIATED' — Status of invoice
  - `lineItems` CustomInvoiceLineItem[]
    - `id` string
    - `description` string, required
    - `valuePerQuantity` number
    - `quantity` number
    - `value` number
  - `autoAdvance` boolean — This property defines the behaviour of status updates of invoices like: Enabling this property to true auto updates the status of invoice to DUE or PAID accordingly But disabling this property of left null does not auto update the custom status

## Response `200`

Response for Get invoice requests

- Invoice — Structure of invoice
  - `id` string, required — Identifier of invoice
  - `customerId` string
  - `ownerId` string
  - `pricePlanId` string
  - `usageInfo` InvoiceLineItem[]
    - `id` string
    - `description` string, required
    - `type` 'TOTAL_USAGE' | 'USAGE_METER_USAGE' | 'GRAND_TOTAL_AMOUNT' | 'TOTAL_AMOUNT' | 'NET_AMOUNT' | 'GROSS_AMOUNT' | 'SUB_TOTAL_AMOUNT' | 'PRICE_PLAN_AMOUNT' | 'FIXED_FEE_RATE_CARD_AMOUNT' | 'CREDIT_GRANT_RATE_CARD_AMOUNT' | 'BILLING_ENTITLEMENT_RATE_CARD_AMOUNT' | 'ENTITLEMENT_OVERAGE_RATE_CARD_AMOUNT' | 'ENTITLEMENT_OVERAGE_RATE_CARD_SLAB_AMOUNT' | 'LICENSE_RATE_CARD_AMOUNT' | 'USAGE_CYCLE_AMOUNT' | 'LICENSE_RATE_CARD_SLAB_AMOUNT' | 'USAGE_RATE_CARD_AMOUNT' | 'USAGE_RATE_CARD_SLAB_AMOUNT' | 'TOTAL_CREDITS' | 'SUB_CREDITS' | 'TOTAL_ADVANCED_FEES' | 'ADVANCED_FIXED_FEE' | 'ADVANCED_LICENSE_RATE_CARD_AMOUNT' | 'ADVANCED_BILLING_ENTITLEMENT_RATE_CARD_AMOUNT' | 'ADVANCED_CREDIT_GRANT_RATE_CARD_AMOUNT' | 'TOTAL_MISCELLANEOUS_CHARGES' | 'MISCELLANEOUS_CHARGE' | 'TRUE_UP_AMOUNT' | 'TOTAL_PURCHASE_AMOUNT' | 'CUSTOM_AMOUNT' | 'CUSTOM_TAG' | 'TOTAL_PRICING_RULE_ADDITION_AMOUNT' | 'PRICING_RULE_ADDITION_AMOUNT' | 'PRICING_RULE_REVENUE_UPDATE_AMOUNT' | 'PRICING_RULE_USAGE_UPDATE_AMOUNT' | 'RATE_CONFIG_ADJUSTMENT_AMOUNT' | 'TOTAL_TAX_AMOUNT' | 'TAX_AMOUNT' | 'PROXY_AMOUNT', required — Type of the line item - GRAND_TOTAL_AMOUNT: Sum of all total amount of individual invoices in a grouped(composite) invoice - TOTAL_AMOUNT: Total revenue of the invoice - NET_AMOUNT: Net revenue of the invoice ( Gross revenue - Discounts ) - GROSS_AMOUNT: Gross revenue of the invoice - PRICE_PLAN_AMOUNT: SUB_TOTAL_AMOUNT + true up amount - SUB_TOTAL_AMOUNT: Sum of all rate card revenues - TRUE_UP_AMOUNT: Minimum commitment - SUB_TOTAL_AMOUNT (Always positive) - TOTAL_USAGE: List of all the usage meter usages - USAGE_METER_USAGE: Usage of an usage meter - USAGE_RATE_CARD_AMOUNT: Revenue generated from usage rate card - USAGE_RATE_CARD_SLAB_AMOUNT: Revenue generated from usage rate card slab - FIXED_FEE_RATE_CARD_AMOUNT: Revenue generated from fixed fee rate card - CREDIT_GRANT_RATE_CARD_AMOUNT: : Revenue generated from credit grant rate card - BILLING_ENTITLEMENT_RATE_CARD_AMOUNT: Revenue generated from billing entitlement rate card - ENTITLEMENT_OVERAGE_RATE_CARD_AMOUNT: : Revenue generated from entitlement overage rate card - ENTITLEMENT_OVERAGE_RATE_CARD_SLAB_AMOUNT: Revenue generated from entitlement overage rate card slab - LICENSE_RATE_CARD_AMOUNT: Revenue generated from license rate card - TOTAL_CREDITS: Sum of all credit amounts - SUB_CREDITS: Granted credit value - TOTAL_ADVANCED_FEES: Sum of all advanced fee revenue - ADVANCED_FIXED_FEE: Revenue generated from advanced fixed fee rate card - ADVANCED_LICENSE_RATE_CARD_AMOUNT: Revenue generated from advanced license rate card - ADVANCED_BILLING_ENTITLEMENT_RATE_CARD_AMOUNT: Revenue generated from advanced billing entitlement rate card - ADVANCED_CREDIT_GRANT_RATE_CARD_AMOUNT: Revenue generated from advanced credit grant rate card - TOTAL_MISCELLANEOUS_CHARGES: Net revenue of all MISCELLANEOUS_CHARGE - MISCELLANEOUS_CHARGE: Custom amount added to a DRAFT invoice - TOTAL_PURCHASE_AMOUNT: Net revenue all rate cards in a purchase plan - CUSTOM_AMOUNT: Custom amount added a DRAFT invoice - CUSTOM_TAG: User defined tags given to each rate card - TOTAL_PRICING_RULE_ADDITION_AMOUNT: Sum of all line items added by applying pricing rules - PRICING_RULE_ADDITION_AMOUNT: Amount added to invoice as a result of applying a pricing rule - PRICING_RULE_REVENUE_UPDATE_AMOUNT: Difference in revenue(value) obtained as a result of applying a pricing rule - PRICING_RULE_USAGE_UPDATE_AMOUNT: Difference in usage(quantity) obtained as a result of applying a pricing rule - RATE_CONFIG_ADJUSTMENT_AMOUNT: Difference in revenue obtained as a result of applying rate config['minimumRate', 'maximumRate'] at rate card level
    - `valuePerQuantity` number
    - `quantity` number
    - `units` string
    - `value` number, required
    - `metadata` object
  - `revenueInfo` InvoiceLineItem
    - `id` string
    - `description` string, required
    - `type` 'TOTAL_USAGE' | 'USAGE_METER_USAGE' | 'GRAND_TOTAL_AMOUNT' | 'TOTAL_AMOUNT' | 'NET_AMOUNT' | 'GROSS_AMOUNT' | 'SUB_TOTAL_AMOUNT' | 'PRICE_PLAN_AMOUNT' | 'FIXED_FEE_RATE_CARD_AMOUNT' | 'CREDIT_GRANT_RATE_CARD_AMOUNT' | 'BILLING_ENTITLEMENT_RATE_CARD_AMOUNT' | 'ENTITLEMENT_OVERAGE_RATE_CARD_AMOUNT' | 'ENTITLEMENT_OVERAGE_RATE_CARD_SLAB_AMOUNT' | 'LICENSE_RATE_CARD_AMOUNT' | 'USAGE_CYCLE_AMOUNT' | 'LICENSE_RATE_CARD_SLAB_AMOUNT' | 'USAGE_RATE_CARD_AMOUNT' | 'USAGE_RATE_CARD_SLAB_AMOUNT' | 'TOTAL_CREDITS' | 'SUB_CREDITS' | 'TOTAL_ADVANCED_FEES' | 'ADVANCED_FIXED_FEE' | 'ADVANCED_LICENSE_RATE_CARD_AMOUNT' | 'ADVANCED_BILLING_ENTITLEMENT_RATE_CARD_AMOUNT' | 'ADVANCED_CREDIT_GRANT_RATE_CARD_AMOUNT' | 'TOTAL_MISCELLANEOUS_CHARGES' | 'MISCELLANEOUS_CHARGE' | 'TRUE_UP_AMOUNT' | 'TOTAL_PURCHASE_AMOUNT' | 'CUSTOM_AMOUNT' | 'CUSTOM_TAG' | 'TOTAL_PRICING_RULE_ADDITION_AMOUNT' | 'PRICING_RULE_ADDITION_AMOUNT' | 'PRICING_RULE_REVENUE_UPDATE_AMOUNT' | 'PRICING_RULE_USAGE_UPDATE_AMOUNT' | 'RATE_CONFIG_ADJUSTMENT_AMOUNT' | 'TOTAL_TAX_AMOUNT' | 'TAX_AMOUNT' | 'PROXY_AMOUNT', required — Type of the line item - GRAND_TOTAL_AMOUNT: Sum of all total amount of individual invoices in a grouped(composite) invoice - TOTAL_AMOUNT: Total revenue of the invoice - NET_AMOUNT: Net revenue of the invoice ( Gross revenue - Discounts ) - GROSS_AMOUNT: Gross revenue of the invoice - PRICE_PLAN_AMOUNT: SUB_TOTAL_AMOUNT + true up amount - SUB_TOTAL_AMOUNT: Sum of all rate card revenues - TRUE_UP_AMOUNT: Minimum commitment - SUB_TOTAL_AMOUNT (Always positive) - TOTAL_USAGE: List of all the usage meter usages - USAGE_METER_USAGE: Usage of an usage meter - USAGE_RATE_CARD_AMOUNT: Revenue generated from usage rate card - USAGE_RATE_CARD_SLAB_AMOUNT: Revenue generated from usage rate card slab - FIXED_FEE_RATE_CARD_AMOUNT: Revenue generated from fixed fee rate card - CREDIT_GRANT_RATE_CARD_AMOUNT: : Revenue generated from credit grant rate card - BILLING_ENTITLEMENT_RATE_CARD_AMOUNT: Revenue generated from billing entitlement rate card - ENTITLEMENT_OVERAGE_RATE_CARD_AMOUNT: : Revenue generated from entitlement overage rate card - ENTITLEMENT_OVERAGE_RATE_CARD_SLAB_AMOUNT: Revenue generated from entitlement overage rate card slab - LICENSE_RATE_CARD_AMOUNT: Revenue generated from license rate card - TOTAL_CREDITS: Sum of all credit amounts - SUB_CREDITS: Granted credit value - TOTAL_ADVANCED_FEES: Sum of all advanced fee revenue - ADVANCED_FIXED_FEE: Revenue generated from advanced fixed fee rate card - ADVANCED_LICENSE_RATE_CARD_AMOUNT: Revenue generated from advanced license rate card - ADVANCED_BILLING_ENTITLEMENT_RATE_CARD_AMOUNT: Revenue generated from advanced billing entitlement rate card - ADVANCED_CREDIT_GRANT_RATE_CARD_AMOUNT: Revenue generated from advanced credit grant rate card - TOTAL_MISCELLANEOUS_CHARGES: Net revenue of all MISCELLANEOUS_CHARGE - MISCELLANEOUS_CHARGE: Custom amount added to a DRAFT invoice - TOTAL_PURCHASE_AMOUNT: Net revenue all rate cards in a purchase plan - CUSTOM_AMOUNT: Custom amount added a DRAFT invoice - CUSTOM_TAG: User defined tags given to each rate card - TOTAL_PRICING_RULE_ADDITION_AMOUNT: Sum of all line items added by applying pricing rules - PRICING_RULE_ADDITION_AMOUNT: Amount added to invoice as a result of applying a pricing rule - PRICING_RULE_REVENUE_UPDATE_AMOUNT: Difference in revenue(value) obtained as a result of applying a pricing rule - PRICING_RULE_USAGE_UPDATE_AMOUNT: Difference in usage(quantity) obtained as a result of applying a pricing rule - RATE_CONFIG_ADJUSTMENT_AMOUNT: Difference in revenue obtained as a result of applying rate config['minimumRate', 'maximumRate'] at rate card level
    - `valuePerQuantity` number
    - `quantity` number
    - `units` string
    - `value` number, required
    - `metadata` object
  - `invoiceDetails` InvoiceDetails
    - `customer` object
      - `name` string, required
      - `primaryEmail` string, required
      - `billingAddress` string
      - `address` Address — billing address of the customer
        - `phoneNumber` string — Contact number
        - `line1` string — Address line 1 (eg. Street, PO Box, Company Name)
        - `line2` string — Address line 2 (eg. apartment, suite, unit or building)
        - `postalCode` string — ZIP or postal code
        - `city` string — City, district, suburb, town or village
        - `state` string — State, county, province or region
        - `country` string — Two letter country code [ISO-3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
    - `account` object
      - `name` string, required
      - `invoiceCurrency` string, required
      - `address` Address, required — billing address of the customer
        - `phoneNumber` string — Contact number
        - `line1` string — Address line 1 (eg. Street, PO Box, Company Name)
        - `line2` string — Address line 2 (eg. apartment, suite, unit or building)
        - `postalCode` string — ZIP or postal code
        - `city` string — City, district, suburb, town or village
        - `state` string — State, county, province or region
        - `country` string — Two letter country code [ISO-3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
      - `primaryEmail` string, required
    - `pricePlanName` string
    - `invoiceGroup` object
      - `id` string, required
      - `name` string, required
      - `email` string
      - `dailyInvoiceConsolidation` boolean, required
      - `invoiceCurrency` string, required
      - `address` Address, required — billing address of the customer
        - `phoneNumber` string — Contact number
        - `line1` string — Address line 1 (eg. Street, PO Box, Company Name)
        - `line2` string — Address line 2 (eg. apartment, suite, unit or building)
        - `postalCode` string — ZIP or postal code
        - `city` string — City, district, suburb, town or village
        - `state` string — State, county, province or region
        - `country` string — Two letter country code [ISO-3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
    - `organization` object
      - `businessName` string, required
      - `address` Address, required — billing address of the customer
        - `phoneNumber` string — Contact number
        - `line1` string — Address line 1 (eg. Street, PO Box, Company Name)
        - `line2` string — Address line 2 (eg. apartment, suite, unit or building)
        - `postalCode` string — ZIP or postal code
        - `city` string — City, district, suburb, town or village
        - `state` string — State, county, province or region
        - `country` string — Two letter country code [ISO-3166-1 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
      - `primaryEmail` string, required
      - `metadata` object
    - `logoUrl` string
  - `status` 'DRAFT' | 'DUE' | 'PAID' | 'VOID' | 'UN_COLLECTIBLE' | 'REFUND_INITIATED' | 'REFUND_COMPLETED' | 'MERGED' | 'PARTIALLY_PAID', required — Status of the invoice
  - `finalizingStatus` 'FINALIZING' | 'FINALIZED'
  - `invoiceClass` 'INVOICE' | 'ORDER' | 'BILLABLE', required — Represents the class of entity( INVOICE/ORDER/BILLABLE)
  - `invoiceType` 'STANDARD' | 'AD_HOC' | 'CUSTOM' | 'COMPOSITE' | 'STANDARD_ADVANCED' | 'ADHOC_ADVANCED', required — Represents the type of entity(STANDARD/AD_HOC/COMPOSITE)
  - `autoAdvance` boolean
  - `startDate` string, date-time — Start date of the invoice
  - `endDate` string, date-time — End date of the invoice
  - `endDateInclusive` string, date-time — Inclusive end date of the invoice
  - `invoiceDate` string, date-time, required — Invoice date of the invoice
  - `dueDate` string, date-time — Due date of the invoice
  - `generatedAt` string, date-time
  - `updatedAt` string, date-time, required
  - `metadata` object
  - `info` object[]
    - `type` string, required — Type of the information
    - `value` string, required — Value of the information
  - `sequenceId` string — Sequence id of the invoice
  - `pdfUrl` string — Download URL of the pdf file corresponding to the invoice
  - `totalAmount` number, required
  - `paidAmount` number, required
  - `netTermDays` integer, required — Number of days from the invoice date after which an invoice is considered overdue.

## Other responses

- `400` — Error response
- `401` — Error response
- `403` — Error response
- `404` — Error response
- `429` — Error response
- `default` — Error response

---

[API](https://skmtc.net/togaihq/apis/togai-apis.md) · [All operations](https://skmtc.net/togaihq/apis/togai-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/togaihq/togai-apis/versions/442f5d8f4aa0/schema)
