ALLENHBUILDSJAMES ALLEN HEIFNER
← ALL CASE FILES
JEA-001 IN PRODUCTION SANITIZED

Enterprise Journal Entry Intake & Automation

The intake point for journal entries across a national health system.

  • 0Sites of care served
  • 0Accountants on the receiving end
  • 0Vendors engaged
  • 0IT project requests filed

The problem

A national shared-services transition was pulling accounting activity out of hundreds of facilities and into one centralized group. Every facility arrived with its own way of preparing an entry, its own idea of what support meant, and its own review habits. At ten facilities that is friction. At three hundred it is not a process at all.

Why it mattered

Centralization only produces a benefit if the work arrives in a consistent shape. Otherwise you have not centralized the work — you have centralized the mess, given it a single owner, and made the close longer. The templates, intake, review and documentation standards did not exist at that scale, and nothing about the transition schedule was going to wait for them.

The old process

  • Entries prepared in whatever format the originating facility had always used
  • Support attached later, sometimes, and rarely to a standard
  • Review performed by reading, entry by entry, with no structural validation
  • Errors found downstream — after posting, in reconciliation, or by an auditor
  • Rework and post-close adjustments absorbed as a normal cost of doing business

The idea

Stop reviewing entries for things a computer can check. Make the template itself the control, and put code behind it that refuses anything malformed at the door — before it is a posted problem instead of a rejected draft.

The system

Standardized journal entry templates with deterministic Python automation underneath them. The automation validates entry structure and required supporting documentation at intake, routes for review and approval, and enforces the accounting logic it was designed around — logic I could write correctly because I own the close it feeds.

How it works

  1. Entry is prepared in a standardized template with a defined structure
  2. Automation validates structure, required fields and balance at intake
  3. Supporting documentation is checked for presence and association before acceptance
  4. Accounting logic is applied and enforced consistently across every facility
  5. Valid entries route to review and approval with support already attached
  6. Anything that fails is returned immediately, with the reason, to the preparer

Before and after

BEFORE

Three hundred dialects

  • Facility-specific formats
  • Support attached later, or not
  • Review by reading
  • Errors found after posting
  • Rework as a standing cost

AFTER

One shape, enforced

  • One standardized template
  • Support required at intake
  • Structure validated by code
  • Errors returned at the door
  • Reviewers read judgement, not format

Architecture

Intake pipeline

  1. 01Preparer

    Standardized template

  2. 02Structure check

    Fields, balance, format

  3. 03Support check

    Documentation present and associated

  4. 04Accounting logic

    Applied consistently, deterministically

  5. 05Route

    Review and approval queue

  6. 06Approved entry

    Support attached, trail intact

EXCEPTION PATH
Returned to preparerWith the specific reason, immediately

Design decisions

Deterministic, not a model
This sits in a control path. It has to be right every time and reproducible line by line under audit. A language model is the wrong tool for a rule that cannot be ninety-four percent correct.
Validate at intake, not review
An error caught at the door costs one person a minute. The same error caught after posting costs a reconciliation, an adjustment and somebody's credibility.
The template is the interface
No new application for 49 people to learn during a national transition. Meet the accountants where they already work, and put the intelligence behind the thing they already open.
Support is not an attachment
Documentation is part of the entry's definition of done, enforced structurally, not requested politely in an email.

Controls

  • Structural and balance validation before acceptance
  • Mandatory supporting documentation, enforced rather than requested
  • Consistent application of accounting logic across all facilities
  • Defined review and approval routing with an auditable path
  • Deterministic execution — identical inputs produce identical output, reproducibly

Testing

Validated against known-answer entries drawn from work already closed and reviewed, so the correct output was established before the automation produced it. Exception paths were tested by deliberately malformed submissions — wrong structure, missing support, out-of-balance, wrong distribution.

Result

It is now the intake point for journal entries across the organization and has removed hundreds of hours of manual preparation. Entries arrive validated with documentation attached, which cut rework and post-close adjustments.

Impact

  • Standardized journal entry preparation across 300+ sites of care
  • Hundreds of hours of manual preparation removed
  • Rework and post-close adjustments reduced by validating at intake
  • A scalable operating model for centralized journal entry accounting — templates, controls, review protocol, and the automation that enforces them
  • Built with no vendor engagement and no IT project request

What I took from it

The hard part was never the code. It was deciding what the standard should be, and having enough standing in the accounting to make that call and defend it to Corporate Controllership and Internal Audit. Software cannot settle an accounting policy argument. It can only enforce the answer once somebody has the authority and the knowledge to give one.

What I would build next

The agent layer above it — see file JEA-002. The intake is solved. Preparation is the next thing that should not be done by hand.