---
title: "Journal Entries API · COUNT Partner API"
description: "Journal entries are manual double-entry postings to the general ledger. Each posting has a memo, date, optional reference number, and balanced debit/credit…"
canonical: "https://developers.getcount.com/reference/journal-entries"
source: "https://developers.getcount.com/reference/journal-entries"
---
API Reference

# Journal Entries

Journal entries are manual double-entry postings to the general ledger. Each posting has a memo, date, optional reference number, and balanced debit/credit lines that reference chart-of-accounts UUIDs.

Last updated 2026-06-21

## Overview

The Journal Entries API lets your integration list, create, bulk-create, update, and delete manual journal postings in a workspace. Each posting must balance: every line carries exactly one of `amountDebit` or `amountCredit`, never both and never neither.

Partner mutation bodies use `accountUuid` on each line (the `id` from chart of accounts). System-generated entries from invoices, bills, payroll, and other integrations are read-only — update and delete return 400 for those sources.

## Key concepts

### Balanced lines

Each line requires `accountUuid` plus exactly one of `amountDebit` or `amountCredit`. The server validates that debits equal credits for the posting.

### Account UUID resolution

Copy account UUIDs from chart of accounts (`id`, `accUuid`, or `accountUuid` fields — any UUID-shaped value from list accounts works). Do not pass numeric internal account ids.

### Manual entries only

Only manually-created entries (and Square integration entries) can be updated or deleted. System-generated entries return 400.

### Bulk partial success

Bulk create processes up to 100 postings independently. Response: `{ successCount, errorCount, results: [{ index, success, journalEntry? | error? }] }` with HTTP 201 even when some rows fail.

## The journal entry line object

List and mutation responses return an array of lines sharing the same `journalLinkUuid`. Each line represents one debit or credit leg.

#### Attributes

`id` uuid

Line identifier (UUID). Pass in the path to update or delete the posting group anchor line.

`descriptionEntry` string

Posting memo shared across all lines in the entry.

`descriptionLine` string

Optional per-line description.

`date` date

Posting date (ISO YYYY-MM-DD).

`refNumber` string

Optional reference number.

`amountDebit` string

Debit amount as a decimal string, or null when this line is a credit.

`amountCredit` string

Credit amount as a decimal string, or null when this line is a debit.

`accountUuid` uuid

Chart-of-accounts UUID for this line.

`account` object

Embedded account summary when included on list responses.

`journalLinkUuid` uuid

Shared link id grouping all lines in the same posting.

`createdAt` datetime

ISO 8601 creation timestamp.

`updatedAt` datetime

ISO 8601 last update timestamp.

Example

```json
{
  "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
  "descriptionEntry": "Accrue March rent",
  "descriptionLine": "Rent expense",
  "date": "2026-03-01",
  "refNumber": "JE-2026-003",
  "amountDebit": "2500.00",
  "amountCredit": null,
  "accountUuid": "c8d9e0f1-a2b3-4567-cdef-789012345678",
  "account": {
    "id": "c8d9e0f1-a2b3-4567-cdef-789012345678",
    "name": "Rent Expense",
    "type": "Expenses"
  },
  "journalLinkUuid": "a9b8c7d6-e5f4-3210-abcd-ef9876543210",
  "createdAt": "2026-01-15T10:30:00.000Z",
  "updatedAt": "2026-01-28T14:22:30.000Z"
}
```

withCaution bypasses period checks

Pass `withCaution: true` on create (sparingly) to skip book-closeness checks. Manual entries can still fail when a line posts into a reconciled period for that account.

Bulk performance

Bulk create resolves all account UUIDs in a single batched lookup across the whole batch — prefer bulk over repeated single creates for large imports (~25 postings per batch recommended).

Update replaces all lines

PATCH sends the full replacement `lines` array with the same shape as create. Partial line patches are not supported.

## Related

- [Chart of Accounts API](https://developers.getcount.com/reference/chart-of-accounts)
- [Transactions API](https://developers.getcount.com/reference/transactions)

## Recent changes

2026-09-07

Accounting Playbooks and Ledger Semantics published as documentation

The workflows and behaviour rules the MCP server serves to agents through COUNT_playbooks and COUNT_knowledge are now readable documentation. Accounting Playbooks (/guides/playbooks) covers nine ordered workflows across 54 steps — invoicing, credit memos, recurring templates, vendor bill payment, chart-of-accounts setup, migration imports, budget planning and round-trip, and month-end review — each naming the exact tool per step. Ledger Semantics & Lifecycles (/guides/ledger-semantics) documents 33 confirmed behaviours across twelve resources: the state each operation is valid in, the fields accepted and then ignored, and the calls that cannot be undone, with every irreversible behaviour collected in one table at the top of the page. Both pages carry the COUNT_playbooks and COUNT_knowledge ids they were ported from so the agent-facing and human-facing copies stay in step. Playbooks, lifecycle sections, and individual behaviour rules are indexed into site search.

2026-06-21

Complete Partner API reference

Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.

## Endpoints

[GET List journal entries `/partners/journal-entries` Returns a paginated list of journal entry lines.](https://developers.getcount.com/reference/journal-entries/list-journal-entries) [POST Create journal entry `/partners/journal-entries` Creates a manual journal entry posting.](https://developers.getcount.com/reference/journal-entries/create-journal-entry) [POST Bulk create journal entries `/partners/journal-entries/bulk` Creates up to 100 journal entry postings in one request with partial-success semantics.](https://developers.getcount.com/reference/journal-entries/bulk-create-journal-entries) [PATCH Update journal entry `/partners/journal-entries/{uuid}` Updates a manually-created journal entry by UUID.](https://developers.getcount.com/reference/journal-entries/update-journal-entry) [DELETE Delete journal entry `/partners/journal-entries/{uuid}` Deletes a journal entry posting by UUID.](https://developers.getcount.com/reference/journal-entries/delete-journal-entry)
