---
title: "Creates a journal entry"
method: POST
path: "/journal-entries"
tags: ["Journal Entries"]
---

# Creates a journal entry

`POST /journal-entries`

Posts a balanced manual journal entry with explicit debit and credit lines, posting date, and subsidiary scope for GL corrections.
Prefer dedicated AR or AP APIs when the business event already exists; reserve this for adjustments your automation cannot model yet.

## Request body

- CreateJournalEntryRequest
  - `name` string, required
  - `currency` string, required — Currency code following ISO-4217
  - `items` JournalEntryItemRequest[], required
    - `description` string
    - `amount` RoundedMonetaryAmount, required — A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required — Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required — Currency code following ISO-4217
    - `account_code` string, required — The account code found in the Chart of Accounts
    - `side` 'DEBIT' | 'CREDIT', required
    - `fields` object[]
      - `field_id` string, uuid, required
      - `field_value_id` string, uuid, required
    - `vat_code` string — Code or description of an existing VAT rate for the journal entry subsidiary's country. When provided, vat_type is required. VAT is always treated as inclusive.
    - `vat_type` string — VAT reporting type for this journal entry line. Required when vat_code is provided. Accepts Revenue, Revenues, Expense, or Expenses case-insensitively.
  - `date` string, date, required
  - `reversal_date` string, date
  - `attachmentUrl` string, uri
  - `exchange_rate` ExchangeRate
    - `base` string, required — Currency code following ISO-4217
    - `target` string, required — Currency code following ISO-4217
    - `rate` string, required
    - `date` string, date, required
  - `subsidiary_id` string, uuid
  - `related_entity` JournalEntryRelatedEntity
    - `id` string, uuid, required
    - `type` 'CUSTOMER' | 'VENDOR', required

## Response `200`

OK

- JournalEntry
  - `id` string, uuid, required
  - `subsidiary_id` string, uuid
  - `name` string, required
  - `currency` string, required — Currency code following ISO-4217
  - `related_entity` JournalEntryRelatedEntity
    - `id` string, uuid, required
    - `type` 'CUSTOMER' | 'VENDOR', required
  - `items` JournalEntryItem[], required
    - `id` string, uuid, required
    - `description` string
    - `amount` RoundedMonetaryAmount, required — A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required — Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required — Currency code following ISO-4217
    - `original_transaction_amount` RoundedMonetaryAmount — A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
      - `amount` string, required — Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
      - `currency` string, required — Currency code following ISO-4217
    - `account_id` string, uuid, required — Immutable account identifier.
    - `account_code` string, required — The account code found in the Chart of Accounts
    - `side` 'DEBIT' | 'CREDIT', required
    - `fields` object[]
      - `field_id` string, uuid, required
      - `field_value_id` string, uuid, required
  - `date` string, date, required — The date this journal entry was posted to the general ledger.
  - `reversal_date` string, date
  - `attachmentUrl` string, uri
  - `exchange_rate` ExchangeRate
    - `base` string, required — Currency code following ISO-4217
    - `target` string, required — Currency code following ISO-4217
    - `rate` string, required
    - `date` string, date, required
  - `updated_at` string, date-time, required — ISO 8601 timestamp in UTC timezone (must end with 'Z')

## Other responses

- `default` — Error

---

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