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

# Create from orders

`POST /billing_new/invoices/create_from_orders/v1`

Creates one draft from matching order charges and reports skipped items. Billing period dates do not filter charges. | authz: allowed_org_types=[provider], min_org_role=operator | (InvoiceCreateFromOrdersReq) -> (InvoiceCreateFromOrdersRes)

## Request body

- InvoiceCreateFromOrdersReq
  - `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 — Supply both bounds or omit both to derive the period from delivery completion days in UTC.
  - `period_end_at_timestamp` string, date-time, nullable — When derived, the exclusive UTC midnight after the last delivery day. Explicit bounds are preserved.
  - `order_ids` string[], required

## Response `200`

Successful Response

- InvoiceCreateFromOrdersRes
  - `invoice` Invoice1
    - `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
    - `owned_by_org_id` string, required — Must be a string starting with `org_`
    - `period_start_at_timestamp` string, date-time, required
    - `period_end_at_timestamp` string, date-time, required
    - `counterparty_account_ids` string[]
    - `invoice_line_item_ids` string[]
    - `total_amount` number, nullable
    - `status` 'draft' | 'approved' | 'void'
    - `approved_by_user_id` string, nullable — Must be a string starting with `user_`
    - `approved_at_timestamp` string, date-time, nullable
    - `voided_by_user_id` string, nullable — Must be a string starting with `user_`
    - `voided_at_timestamp` string, date-time, nullable
    - `void_reason` string, nullable
    - `merge_linked_account_id` string, nullable
    - `merge_invoice_id` string, nullable
    - `merge_remote_id` string, nullable
    - `merge_invoice_number` string, nullable
    - `merge_invoice_url` string, nullable
    - `merge_status` 'draft' | 'submitted' | 'open' | 'partially_paid' | 'paid' | 'void'
    - `merge_remote_was_deleted` boolean
    - `merge_exported_by_user_id` string, nullable — Must be a string starting with `user_`
    - `merge_exported_at_timestamp` string, date-time, nullable
    - `stripe_invoice_id` string, nullable
    - `stripe_invoice_number` string, nullable
    - `stripe_invoice_url` string, nullable
    - `stripe_status` 'draft' | 'open' | 'paid' | 'uncollectible' | 'void'
    - `stripe_was_deleted` boolean
    - `stripe_exported_by_user_id` string, nullable — Must be a string starting with `user_`
    - `stripe_exported_at_timestamp` string, date-time, nullable
    - `file_exported_by_user_id` string, nullable — Must be a string starting with `user_`
    - `file_exported_at_timestamp` string, date-time, nullable
    - `created_by_user_id` string, required — Must be a string starting with `user_`
    - `created_at_timestamp` string, date-time, required
    - `last_edited_by_user_id` string, required — Must be a string starting with `user_`
    - `last_edited_at_timestamp` string, date-time, required
    - `_id` string, required
  - `added_invoice_line_item_ids` string[]
  - `already_invoiced_line_item_ids` string[]
  - `finalized_line_item_ids` string[]
  - `unmatched_line_item_ids` string[] — Charges for another counterparty, invoice type, or currency, regardless of status.
  - `orders_without_added_charges` string[]

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-21** `9a30893d8db1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/chrt/apis/chrt-fastapi/changes/billing_new/invoices/create_from_orders/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/1a1e5a995fc9?raw)
