client.workspaces.start_ledger_understanding measures the workspace’s
ingested journal package — table roles, integrity, open questions, and
optional GL parsing — and returns a Job whose result is a
LedgerUnderstandingResult. client.workspaces.get_ledger_understanding
reads the latest report without starting a run.
A sibling of journal-entry testing, not a search. JET tests a criterion
over the package; this reads the package so later tests start from a
settled census. Without force, an unchanged package republishes the
stored report instead of scanning again.
llm engine, package_confirmation="required" (the default) stops discovery
at source review: a person confirms the package and its columns before GL parsing runs.
If the run later settles different columns, or the selection was confirmed by a model,
parsing is skipped and report.parsing.confirmation_required lists the changes;
confirm report.settled_structure as a structure review to parse.
With package_confirmation="automatic", discovery can confirm a package and start its
measured run automatically. When the result has follow_up_job_id, wait for that job before
reading the final analysis. report.proposals.auto_confirmation explains the
confirmation or why review is needed. report.auto_decisions records model choices,
suggestions, and validation refusals; measured evidence still controls parsing.
Method signature
Parameters
Returns
AJob whose result is a LedgerUnderstandingResult (result_type is
ledger_understanding). The report also lives on result.report.
Read the latest report
GET returns the report itself, not a job. stale is true when the
package has moved since this reading. A workspace that has never produced
a report raises 404 ledger_understanding_not_found.
For a confirmed source selection, pass the same selection_id to start and read.
Changing selected content or adding dataset parts requires a new confirmation;
force=True does not override that guard. A source selection is separate from the
workspace default and keeps the primary population fixed when passed to JET.
Confirm sources
list_ledger_sources is the review catalog. Pass review_reading_id from a
reading that asked for source selection. select_ledger_sources freezes a
primary and supporting sources against that catalog revision. Use the returned
selection_id on start and get.
Workspace policy
create and update accept a ledger_understanding block. Updating
replaces the block whole.
package_scope=LedgerPackageScope(path_prefix="engagement") sets the default
for automatic runs, reads and reviews. Import LedgerPackageScope from
ndi_sdk.models.ledger_understanding. Empty request selectors use this default.
Read a per-request package with the same selectors used to start it.
See package scope and parse coverage.
A document-only corpus with
trigger="auto" never starts a run: the
predicate is over sidecars ingestion already wrote.
When ingestion does chain a run, IngestionResult.ledger_understanding_job_id
names it. Poll that id with jobs.wait.
Reading the report
Conflicts
A secondstart_ledger_understanding while a run is already in flight
returns 409 ledger_understanding_in_progress. Wait for the in-flight
job, or read the current report with get_ledger_understanding.
See Workspaces and the
ledger-understanding API reference.