---
title: "Create a journal entry"
method: POST
path: "/companies/{companyId}/journal-entries"
tags: ["journal-entries"]
---

# Create a journal entry

`POST /companies/{companyId}/journal-entries`

Creates a journal entry for the company.

**Handling validation errors:**

If this operations returns a 400 status code, inspect the response body's api error object for more information. There will be additional information in the innerCode if the code=validation-error.

**Scope:** `journal-entries:write`

## Request body

- JournalEntry
  - `id` string, uuid
  - `title` string
  - `journalEntryNumber` string
  - `date` string, date
  - `items` JournalEntryItem[], required
    - `id` integer
    - `debit` number, double
    - `credit` number, double
    - `account` integer
    - `tags` JournalEntryTag[] — Transaction-level tags applied to this specific line item. Tags must be applied either at the transaction level (on individual line items) or at the verification level (on the journal entry), but not both on the same journal entry. Within a tag group, weights on the same transaction must sum to at most 1.
      - `tagId` string, uuid, required — Unique identifier of the tag (value) within the tag group
      - `tagGroupId` string, uuid — Unique identifier of the tag group this tag belongs to
      - `tagName` string — Display name of the tag
      - `tagGroupName` string — Display name of the tag group
      - `weight` number, double, required — Allocation weight between 0 (exclusive) and 1 (inclusive). Controls how costs/revenues are split in reports. Within a tag group, weights on the same journal entry or transaction must sum to at most 1.
  - `tags` JournalEntryTag[] — Verification-level tags applied to the entire journal entry. Tags must be applied either at the verification level (on the journal entry) or at the transaction level (on individual line items), but not both on the same journal entry. Within a tag group, weights on the same journal entry must sum to at most 1.
    - `tagId` string, uuid, required — Unique identifier of the tag (value) within the tag group
    - `tagGroupId` string, uuid — Unique identifier of the tag group this tag belongs to
    - `tagName` string — Display name of the tag
    - `tagGroupName` string — Display name of the tag group
    - `weight` number, double, required — Allocation weight between 0 (exclusive) and 1 (inclusive). Controls how costs/revenues are split in reports. Within a tag group, weights on the same journal entry or transaction must sum to at most 1.
  - `reversingJournalEntryId` string, uuid, nullable
  - `reversedByJournalEntryId` string, uuid, nullable

## Response `200`

Journal entry created

- JournalEntry
  - `id` string, uuid
  - `title` string
  - `journalEntryNumber` string
  - `date` string, date
  - `items` JournalEntryItem[], required
    - `id` integer
    - `debit` number, double
    - `credit` number, double
    - `account` integer
    - `tags` JournalEntryTag[] — Transaction-level tags applied to this specific line item. Tags must be applied either at the transaction level (on individual line items) or at the verification level (on the journal entry), but not both on the same journal entry. Within a tag group, weights on the same transaction must sum to at most 1.
      - `tagId` string, uuid, required — Unique identifier of the tag (value) within the tag group
      - `tagGroupId` string, uuid — Unique identifier of the tag group this tag belongs to
      - `tagName` string — Display name of the tag
      - `tagGroupName` string — Display name of the tag group
      - `weight` number, double, required — Allocation weight between 0 (exclusive) and 1 (inclusive). Controls how costs/revenues are split in reports. Within a tag group, weights on the same journal entry or transaction must sum to at most 1.
  - `tags` JournalEntryTag[] — Verification-level tags applied to the entire journal entry. Tags must be applied either at the verification level (on the journal entry) or at the transaction level (on individual line items), but not both on the same journal entry. Within a tag group, weights on the same journal entry must sum to at most 1.
    - `tagId` string, uuid, required — Unique identifier of the tag (value) within the tag group
    - `tagGroupId` string, uuid — Unique identifier of the tag group this tag belongs to
    - `tagName` string — Display name of the tag
    - `tagGroupName` string — Display name of the tag group
    - `weight` number, double, required — Allocation weight between 0 (exclusive) and 1 (inclusive). Controls how costs/revenues are split in reports. Within a tag group, weights on the same journal entry or transaction must sum to at most 1.
  - `reversingJournalEntryId` string, uuid, nullable
  - `reversedByJournalEntryId` string, uuid, nullable

## Other responses

- `400` — Missing required information

---

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