---
title: "Create accounting accounts in bulk"
method: POST
path: "/accountingaccounts/{companyId}/bulk"
tags: ["AccountingAccounts"]
---

# Create accounting accounts in bulk

`POST /accountingaccounts/{companyId}/bulk`

Creates several accounting accounts in a single call, following the same rules as the single account creation endpoint. Entries sharing the same `accountingCode` within the request are deduplicated and only the first occurrence is processed.

## Path parameters

- `companyId` string, required

## Request body

- BulkPostAccountingsAccountsRequestSchema
  - `data` PostAccountingsAccountsRequestSchema[], required — Accounting accounts to create. Entries sharing the same `accountingCode` within the request are deduplicated and only the first occurrence is processed.
    - `active` boolean, nullable — Whether the accounting account is active.
    - `type` 'banks' | 'analytics' | 'accountings'
    - `accountingName` string, nullable — Display name of the accounting account. Defaults to `accountingCode` when omitted.
    - `collective` boolean, nullable — Whether this is a collective (grouping) accounting account rather than an individual one.
    - `additionalInfo` object, nullable — Free-form key/value metadata to attach to the account. Sending an empty object leaves any previously stored metadata unchanged instead of clearing it.
    - `attributes` AttributeValueRequestACCOUNTSchema[], nullable — Custom attribute values to attach to the account. Entries with an empty or missing `customId` or `value` are silently discarded.
      - `customId` string, nullable — Custom ID of the attribute definition this value belongs to. Entries missing `customId` or `value` are silently discarded.
      - `value` string, nullable — Value assigned to the attribute.
      - `valueCustomId` string, nullable — Custom ID of the selected option, for list-type attributes.
    - `accountingCode` string, required — Unique code identifying the accounting account in the company's chart of accounts.

## Response `200`

Successful Response

- BulkUpsertAccountingsAccountsResponseSchema
  - `data` UpsertAccountingsAccountsResponseSchema[], required — Result of the bulk operation, one entry per account.
    - `id` string, required — Embat resource ID
    - `accountingCode` string, required — Client-provided accounting code.

## Other responses

- `401` — Unauthorized. The bearer token is missing, invalid or expired.
- `404` — Not found. The requested resource or `companyId` does not exist.
- `422` — Validation Error
- `500` — Unexpected error. Contact support if it persists.

---

[API](https://skmtc.net/embat/apis/embat-api.md) · [All operations](https://skmtc.net/embat/apis/embat-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/embat/embat-api/versions/36ca48bf4489/schema)
