X12 997 — Functional Acknowledgment

Convert & Decode X12 997 Acknowledgment Files to CSV

See exactly which transaction sets a trading partner accepted or rejected — AK1/AK2/AK5/AK9 status codes decoded into a spreadsheet-ready CSV. Runs entirely in your browser; nothing is ever uploaded.

Drag & drop your 997 file here

Up to 50MB — parsed entirely in your browser

Never uploaded, no account needed Exports to CSV, Excel, JSON & XML

or try it instantly with a free example 997 file — no upload needed:

No file parsed yet — upload a 997 file or load the sample above to see results here.

What Is an X12 997 File?

The 997 (Functional Acknowledgment) is the ANSI X12 transaction set a trading partner sends back to confirm receipt of a functional group of EDI documents — and, critically, whether each transaction set inside it was accepted, accepted-with-errors, or rejected. It does not confirm business-level approval (that's a separate response like an 855 PO acknowledgment) — a 997 only confirms that the EDI envelope and syntax were readable. It's the first thing to check when a trading partner says "we never received your file" or "your file was rejected."

Read the Full Guide: Decoding AK Segments, Common Rejections, and More

Why Convert a 997 to CSV?

997s are dense, code-driven files that are painful to read as raw text — a single rejected transaction set can be buried among dozens of AK segments. Converting to CSV surfaces every AK2 transaction set reference next to its AK5 accept/reject status in one scannable table, so you can immediately see which specific transaction(s) failed instead of manually counting segments.

Key Segments You'll See in a 997 Export

  • AK1 — Functional Group Response Header: which functional group (e.g. all the 850s in a batch) this acknowledgment refers to.
  • AK2 — Transaction Set Response Header: identifies one specific transaction set (e.g. a single 850) inside the group.
  • AK3 / AK4 — Data Segment/Element Note: pinpoint exactly which segment and element caused a syntax error, when present.
  • AK5 — Transaction Set Response Trailer: the accept/reject status code for that one transaction set (A = Accepted, E = Accepted with Errors, R = Rejected).
  • AK9 — Functional Group Response Trailer: the overall accept/reject status for the whole group, plus counts of included, received, and accepted transaction sets.

What Do the AK5/AK9 Status Codes Mean?

The most common codes are A (Accepted), E (Accepted, But Errors Were Noted), and R (Rejected). An AK9 of "A" with AK5 codes of "A" throughout means everything in the batch was received cleanly. Any "R" means that specific transaction set must be corrected and resent — the AK3/AK4 segments (when present) tell you exactly which segment and element triggered the rejection.

Also Known As

People also search for this as an "X-12 997 to CSV converter," a "functional acknowledgement" (British spelling) viewer, or "997 edi file won't open" — all land on the same structural parser here.

Related Pages

For general EDI background, read What Is an EDI File?, Common EDI Parsing Errors, and X12 EDI Viewer.

Frequently Asked Questions

Does a 997 confirm my business document was approved?

No — a 997 only confirms the EDI file's syntax and envelope were received and readable. Business-level approval (e.g. of a purchase order) is a separate response, like an 855.

What does an AK5 code of "R" mean?

"R" means that specific transaction set was rejected. Check the accompanying AK3/AK4 segments if present — they identify the exact segment and element that caused the rejection.

Can one 997 acknowledge multiple transaction sets at once?

Yes — a single 997 can contain multiple AK2/AK5 pairs, one for each transaction set in the functional group being acknowledged.

Is my file uploaded anywhere?

No. Parsing happens entirely in your browser; the file is never transmitted to a server.

Is this a subscription?

No — a one-time payment (currently 50% off at $29.99) unlocks unlimited full-file exports, with no recurring fees.

Does this support both 4010 and 5010 versions, and can I batch-convert multiple files?

Yes on versions — the parser reads structurally from the file's own delimiters, so 4010, 5010, and other X12 versions of the 997 all work. It currently processes one file at a time; there's no bulk/batch upload feature yet. It runs on any device with a modern browser, including Mac and Chromebook.