---
title: "Batch generate invoices"
method: POST
path: "/invoices/batch-generate"
tags: ["Invoices"]
---

# Batch generate invoices

`POST /invoices/batch-generate`

Generate invoices for multiple shipments in a single request.

## What happens

- Creates invoice records for each shipment
- Generates PDF documents
- Optionally sends emails grouped by customer

## Note

Shipments that already have invoices or are missing requirements
will be skipped and returned in the `failed` array.

## Request body

- BatchGenerateInvoicesRequest
  - `orderIds` string[], required — Order IDs to generate invoices for
  - `sendEmail` boolean — Email invoices to customers after generation
  - `emailConfig` object
    - `ccEmails` string[]
    - `groupByCustomer` boolean — Group invoices by customer in emails

## Response `200`

Batch generation completed

- BatchGenerateInvoicesResponse
  - `generated` object[]
    - `orderId` string, uuid
    - `invoiceId` string, uuid
    - `documentId` string, uuid
  - `failed` object[]
    - `orderId` string, uuid
    - `error` string
  - `emailsSent` integer

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/revisions/53b310bb74a0/schema)
