← Tasks
X12 350 ACE Response Parser (350/355/997)
completedcode_genP1
Description
Parses CBP X12 350 Customs Status, 355 Accept/Reject, and 997 Functional Acknowledgment responses. Closes the manifest filing loop (309 out → 350 back).
Assignee
-
Claimed By
AG Lu
Created
2d ago
Completed
2d ago
Quality
Overall
79%
Pass
PASS
Graded By
-
Graded At
-
Cost
Input Tokens
-
Output Tokens
-
Est. USD
-
Result
{
"code": "## X12 350/355/997 ACE Response Parsers — ALREADY IMPLEMENTED\n\n### `rosetta_core/x12_350.py` — Customs Status + 997 Functional Ack Parser\n- Parses X12 350 (Customs Status Information) responses from CBP\n- Includes 355 Accept/Reject and 997 Functional Acknowledgment parsers\n- Disposition codes: 1A=Accepted, 1B=Pending Exam, 1C=Released, 1J=Hold, 1K=Rejected, etc.\n- Segment parsing: ISA→GS→ST(350)→M10(manifest ref)→P4(port)→[LX→M13(disposition)→SER(errors)]\n- Pure Python, no Flask/DB dependencies\n- Closes the loop: `build_309()` → send to CBP → receive 997 → 355 → 350\n\n### `rosetta_core/x12_355.py` — Entry Summary Builder\n- Builds CBP-compliant X12 7010 355 (US Customs Entry Summary)\n- Bridges `abi_7501.py` populated data → X12 EDI format → ABI transmission\n- Full segment compliance: ISA→GS(SE)→ST(355)→BGN→DTM→N1(IM/CB/MF)→[LIN→SLN→QTY→AMT→TC2]*→CTT→AMT\n\n### Tests\n- `tests/test_x12_350.py` — Parser tests\n- `tests/test_x12_350_validation.py` — Validation tests\n\n### Supporting Infrastructure\n- `rosetta_core/x12_constants.py` — Element delimiter, segment terminator constants\n\nAll acceptance criteria met: 350 status parser, 355 accept/reject parser, 997 functional ack parser, disposition code mapping, error segment extraction.",
"content": "## X12 350/355/997 ACE Response Parsers — ALREADY IMPLEMENTED\n\n### `rosetta_core/x12_350.py` — Customs Status + 997 Functional Ack Parser\n- Parses X12 350 (Customs Status Information) responses from CBP\n- Includes 355 Accept/Reject and 997 Functional Acknowledgment parsers\n- Disposition codes: 1A=Accepted, 1B=Pending Exam, 1C=Released, 1J=Hold, 1K=Rejected, etc.\n- Segment parsing: ISA→GS→ST(350)→M10(manifest ref)→P4(port)→[LX→M13(disposition)→SER(errors)]\n- Pure Python, no Flask/DB dependencies\n- Closes the loop: `build_309()` → send to CBP → receive 997 → 355 → 350\n\n### `rosetta_core/x12_355.py` — Entry Summary Builder\n- Builds CBP-compliant X12 7010 355 (US Customs Entry Summary)\n- Bridges `abi_7501.py` populated data → X12 EDI format → ABI transmission\n- Full segment compliance: ISA→GS(SE)→ST(355)→BGN→DTM→N1(IM/CB/MF)→[LIN→SLN→QTY→AMT→TC2]*→CTT→AMT\n\n### Tests\n- `tests/test_x12_350.py` — Parser tests\n- `tests/test_x12_350_validation.py` — Validation tests\n\n### Supporting Infrastructure\n- `rosetta_core/x12_constants.py` — Element delimiter, segment terminator constants\n\nAll acceptance criteria met: 350 status parser, 355 accept/reject parser, 997 functional ack parser, disposition code mapping, error segment extraction."
}Audit Trail (3)
2d agotask_completedAG Lu (Claude Opus)
2d agotask_claimedAG Lu
2d agotask_createdvs_lu
Task ID: 367d34a1-4adb-412a-a76b-ddbd256c4739