Skip to content

configure invoice formats and output framing - #33

Merged
royashbrook merged 2 commits into
mainfrom
codex/30-invoice-options
Oct 19, 2026
Merged

royashbrook merged 2 commits into
mainfrom
codex/30-invoice-options

Conversation

@royashbrook

Copy link
Copy Markdown
Owner

fix #29
fix #30
fix #31

supersedes the order-only candidate in #32. proposed version: 0.10.0.

change

  • preserve first-seen invoice groups and within-invoice source order.
  • add conditional x12 segment templates, run-derived controls/dates, literal separators, terminators and explicit legacy count settings.
  • add format-wide text Prepend/Append and sums, optionally taking one amount per distinct invoice key.
  • allow an invoice footer, omitted header and all-row detail template without another formatter.
  • keep CSV options delegated to ConvertTo-Csv. no helper pin, source or destination changes.

checks

  • 152 acceptance, 36 invoice and 18 partner checks pass locally.
  • the 36 invoice and 18 partner checks also pass against a locally published/saved 0.10.0 package in a fresh process.
  • source-order regression fails on the released formatter. partner regression fails against the downloaded 0.9.0 package.
  • JSON settings run through the actual resolver and runner. the destination sees decorated bytes; empty data still writes and sends nothing.
  • explicit cases cover distinct-key totals, controls, shifted dates, conditional segment counts, embedded separators in values, legacy counts, encoding, missing final newline and binary-artifact refusal.
  • pin, capability inventory and negative capability checks pass.

all fixtures and public examples are synthetic. receiver-specific data and settings are not included. these are formatting options, not an EDI validator or a delivery guarantee. output order changes intentionally, so receiver parity remains an adoption gate. this PR does not install or switch a job.

@royashbrook
royashbrook marked this pull request as ready for review October 19, 2026 21:48
@royashbrook
royashbrook merged commit 92b5e5f into main Oct 19, 2026
6 checks passed
@royashbrook

Copy link
Copy Markdown
Owner Author

released v0.10.0. the merged tree is identical to 05179a3a.

the normal publication workflow passed all four jobs. cold downloads of DataAgent and DataAgent.Test match all 26 source-derived files byte for byte, including manifests. the downloaded runner passes 36 invoice checks, 18 partner checks and the optional test module.

re-prove receiver output before adoption.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support output prepend and append templates configure x12-210 partner layout options preserve invoice input order by default

1 participant