Bills

Accrues a new accounts-payable bill against a vendor with subsidiary context, line items, and due dates your approval workflow consumes. Attach supporting metadata now so matching payments, amortization schedules, and document uploads stay aligned with the payable.

post/bills

Request

Request body

vendor_idstring uuid required
expense_numberstring required
bill_datestring date required
due_datestring date required
impact_datestring date
subsidiary_idstring uuid
metadataInlineMetadataValues

Partial metadata update keyed by definition key. Omitting this property preserves all existing metadata. When supplied, omitted keys remain unchanged; null, empty, or whitespace-only values clear only the named key.

Example request

{
  "expense_number": "B123",
  "items": [
    {
      "description": "API Bill",
      "account_code": "11112",
      "amount": {
        "amount": "1.01",
        "currency": "USD"
      },
      "tax_rate": {
        "percentage": "0",
        "tax_amount": {
          "amount": "1.01",
          "currency": "USD"
        },
        "country": "US"
      }
    }
  ],
  "external_references": [
    {
      "type": "xyzSystemId",
      "id": "234",
      "url": "https://xyzsystempage.com/ids/234"
    }
  ],
  "exchange_rate": {
    "base": "USD",
    "target": "USD"
  }
}

Response

The bill was created; approval details are populated when approval is required

vendor_idstring uuid required
expense_numberstring required
bill_datestring date required
due_datestring date required
impact_datestring date
subsidiary_idstring uuid
metadataobject

Values keyed by metadata definition key. Keys without a value are omitted.

idstring uuid required
status'DRAFT' | 'UNPAID' | 'PAID' | 'PARTIALLY_PAID' | 'CREDITED' | 'PARTIALLY_CREDITED' | 'APPLIED' required
updated_atstring date-time required

Timestamp when the bill was last modified

Example response

{
  "expense_number": "B123",
  "items": [
    {
      "description": "API Bill",
      "account_code": "11112",
      "amount": {
        "amount": "1.01",
        "currency": "USD"
      },
      "tax_rate": {
        "percentage": "0",
        "tax_amount": {
          "amount": "1.01",
          "currency": "USD"
        },
        "country": "US"
      }
    }
  ],
  "external_references": [
    {
      "type": "xyzSystemId",
      "id": "234",
      "url": "https://xyzsystempage.com/ids/234"
    }
  ],
  "exchange_rate": {
    "base": "USD",
    "target": "USD"
  }
}

Changes

    • breaking

      the /////////// request property type changed from number to string, and format from no format to number

    • breaking

      the /////////////// response's property type changed from number to string, and format from no format to number for status

    • breaking

      the //////////////// response's property type changed from number to string, and format from no format to number for status

    • warning

      added the new DRAFT enum value to the / response property for the response status

    • info

      added the new optional request property

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status