Journal Entry Recorded
Emitted when a journal entry has been successfully recorded in the general ledger
Overview
The JournalEntryRecorded event confirms that a financial transaction has been posted to the general ledger following double-entry bookkeeping principles.
Event Schema
Avro Schema
Using Avro for strong typing and backward compatibility in financial data.
{ "eventId": "uuid", "eventType": "JournalEntryRecorded", "timestamp": "2025-12-11T10:30:00Z", "version": "1.0.0", "data": { "journalEntryId": "string", "entryDate": "date", "postingDate": "date", "description": "string", "sourceDocument": "string", "entries": [ { "accountNumber": "string", "accountName": "string", "debit": "number (null if credit)", "credit": "number (null if debit)", "currency": "string" } ], "totalDebits": "number", "totalCredits": "number", "createdBy": "string", "approvedBy": "string (optional)" }}Example Payload
{ "eventId": "je_a1b2c3d4", "eventType": "JournalEntryRecorded", "timestamp": "2025-12-11T10:30:00Z", "version": "1.0.0", "data": { "journalEntryId": "JE-2025-001234", "entryDate": "2025-12-11", "postingDate": "2025-12-11", "description": "Payment received for Invoice INV-2025-000123", "sourceDocument": "pay_1234567890", "entries": [ { "accountNumber": "1010", "accountName": "Cash", "debit": 99.99, "credit": null, "currency": "USD" }, { "accountNumber": "1020", "accountName": "Accounts Receivable", "debit": null, "credit": 99.99, "currency": "USD" } ], "totalDebits": 99.99, "totalCredits": 99.99, "createdBy": "system", "approvedBy": "auto-approved" }}Business Rules
- Total debits must equal total credits
- At least two account entries required
- All amounts must be positive
- Immutable once recorded
- Complete audit trail maintained
5 fields
Record:JournalEntryRecorded(com.finance.accounting.events)
Emitted when a journal entry has been successfully recorded in the general ledger
eventIdstring
Unique identifier for this event
eventTypestring
timestamplong
Event timestamp in milliseconds
versionstring
Event schema version
datarecord: JournalEntryData