edi — An EDI interchange, as rows — openbash
X12 as CSV: the 820 remittance and the 812 adjustment, with the reason code on every line.
edi
edi is a command on the openbash shell, reachable over HTTP, SSH and MCP with one key. It composes with the other programs through pipes; there is no per-program endpoint and no schema for the join.
edi /dropbox/ap/unfi-820-2026-09.edi kind,trace,payment_total,payment_date,reference,amount,invoice_amount,reason_code payment,0012345678,14820.55,2026-09-02,INV-88213,9310.00,9310.00, adjustment,0012345678,14820.55,2026-09-02,INV-88213,412.80,,59
help
edi: an X12 interchange, as rows.
USAGE
edi [--json] FILE
WHAT IT READS
820 the remittance advice — what was PAID against each invoice (RMR) and
what was TAKEN BACK and under which reason code (ADX). Both are in one
table because a list of deductions that cannot be reconciled to the
payment is a list nobody can act on.
812 the credit/debit adjustment — the chargeback document itself, one row
per CDD, carrying whether it was a debit or a credit.
RETURNS
CSV on stdout, so it foots with `csv` or `awk` like any other table.
`--json` gives every segment as it stands, which is what to use for a
transaction set this does not model.
IT DOES NOT SAY WHAT A REASON CODE MEANS
The code is printed, never translated. What a retailer's code means is the
`deduction-reason-codes` skill's work, and it reports the ones it cannot map
rather than guessing — a meaning invented here would end up under a number in
a dispute sent to a deduction desk.
SEPARATORS
Read from the ISA segment, not assumed. A file punctuated with `|` is
ordinary and reads correctly.