---
title: "Create"
method: POST
path: "/billing_new/invoices/create/v1"
tags: ["/billing_new", "/billing_new/invoices"]
---

# Create

`POST /billing_new/invoices/create/v1`

Creates a new draft invoice, optionally attaching selected uninvoiced charges atomically. Omitted dates derive from completed deliveries; empty drafts and charges without completed delivery dates require explicit bounds. | authz: allowed_org_types=[provider], min_org_role=operator | (InvoiceCreateReq) -> (PydanticObjectId)

## Request body

- InvoiceCreateReq
  - `schema_version` 1, required
  - `invoice_type` 'accounts_receivable' | 'accounts_payable', required
  - `counterparty_org_id` string, nullable — Must be a string starting with `org_`
  - `counterparty_off_chrt_org_data_id` string, nullable
  - `counterparty_driver_id` string, nullable
  - `currency_code` 'USD' | 'CAD' | 'EUR' | 'GBP' | 'MXN' | 'AUD' | 'JPY' | 'CNY' | 'CHF' | 'INR', required
  - `name` string, nullable
  - `description` string, nullable
  - `export_ref__sage__department_id` string, nullable
  - `export_ref__sage__customer_id` string, nullable
  - `period_start_at_timestamp` string, date-time, nullable
  - `period_end_at_timestamp` string, date-time, nullable
  - `invoice_line_item_ids` string[]

## Response `200`

Successful Response

- string

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-21** `9a30893d8db1` — 1 breaking, 2 info
  - removed the enum value `XXX` of the request property `currency_code`
  - api tag `/billing_new/invoices` added
  - added the new optional request property `invoice_line_item_ids`

[Change history](https://skmtc.dev/chrt/apis/chrt-fastapi/changes/billing_new/invoices/create/v1/post.md)

---

[API](https://skmtc.dev/chrt/apis/chrt-fastapi.md) · [All operations](https://skmtc.dev/chrt/apis/chrt-fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/chrt/apis/chrt-fastapi/revisions/f39d4c9e8d5b?raw)
