Skip to content
MirrorFirm

What do the record schema and links look like in JSONL?

A release can ship one JSONL file per record type with stable identifiers, explicit join keys and a load-time check that allocations sum to each bank line.

A release is usually delivered as linked JSONL files, one per record type, with stable identifiers so joins are explicit. Parquet versions can be requested for larger tables.

A sketch of the core files: - `bank_lines.jsonl`: `line_id`, `value_date`, `amount`, `currency`, `payer_text`, `channel`, `status`. - `open_items.jsonl`: `item_id`, `customer_id`, `account_id`, `kind` (invoice, credit_note, instalment), `amount_due`, `due_date`, `status`, `dispute_flag`. - `allocations.jsonl`: `allocation_id`, `line_id`, `item_id`, `amount`, `posted_by_role`, `policy_version`. - `policies.jsonl`: `policy_id`, `version`, `effective_from`, `order_rule`, `tolerance`, `approval_threshold`, `text`. - `cases.jsonl`: `case_id`, `line_id`, `reason_code`, `owner_role`, `notes[]`.

Links run through `line_id`, `item_id`, `customer_id` and `policy_id`. One line can map to many allocations, and the sum of allocation amounts plus any unapplied remainder should equal the line amount, which is a check you can run on load.

Tasks sit in `tasks.jsonl` with `task_id`, `start_snapshot`, `allowed_actions` and `expected` (splits, hold or escalation). Field names are set in scoping and can be mapped to your own schema.

Explicit keys and a sum check let you validate a release on load and map the fields to your own schema.

Audience:
Agent developers
Content type:
Integration
Buyer question:
What can be generated

Content release: r-a220eb6e099b243b

More on Payment allocation