DEBREC Debts recovery message (D18A)

This is the standard EDIFACT D18A spec, with 26 loops and 89 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.

Loading the spec…
The spec as an OpenAPI 3 schema with x-openedi-* extensions, for ediFabric Native, ediFabric Cloud and the EDI Spec Builder. Download OpenEDI (103 KB) Generate classes
The ediFabric .NET template, class TSDEBREC. It needs the common segments, composites and codes of EDIFACT D18A, one download for every transaction in the version. Download C# (1 KB) Common files (69 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the DEBREC spec in your code

ediFabric .NET

Add the C# template and its common files to your project, or reference the template NuGet package, and read DEBREC files into TSDEBREC objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D18A to this Native model with set_map to parse DEBREC files to JSON from Python, Java, C or C#. See ediFabric Native.

OpenEDI

Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.

Generate DEBREC classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each DEBREC as JSON. To work with DEBREC data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSDEBREC. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.

Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.

DEBREC structure

Loops and segments of the standard DEBREC, with their usage and maximum repeats.

IDNameUsageMax use
UNHUNHMandatory1
BGMBGMMandatory1
DTMDTMOptional5
Loop PNAPNAOptional99
PNAPNAMandatory1
ADRADROptional1
RFFRFFOptional5
EMPEMPOptional1
COMCOMOptional9
Loop CTACTAOptional9
CTACTAMandatory1
DTMDTMOptional1
Loop COMCOMOptional5
COMCOMMandatory1
DTMDTMOptional9
Loop AUTAUTOptional1
AUTAUTMandatory1
DTMDTMOptional1
Loop GIRGIROptional9999
GIRGIRMandatory1
Loop ATTATTOptional1
ATTATTMandatory1
DTMDTMOptional3
Loop EVEEVEOptional999
EVEEVEMandatory1
DTMDTMOptional9
IRQIRQOptional99
FTXFTXOptional99
Loop ATTATTOptional9
ATTATTMandatory1
DTMDTMOptional3
Loop PNAPNAOptional99
PNAPNAMandatory1
RFFRFFOptional9
ATTATTOptional9
EMPEMPOptional1
PDIPDIOptional1
FIIFIIOptional9
DTMDTMOptional9
MOAMOAOptional5
QTYQTYOptional9
PCDPCDOptional1
COMCOMOptional1
Loop CTACTAOptional9
CTACTAMandatory1
DTMDTMOptional1
FTXFTXOptional9
Loop COMCOMOptional5
COMCOMMandatory1
DTMDTMOptional9
Loop ADRADROptional5
ADRADRMandatory1
DTMDTMOptional1
Loop COMCOMOptional1
COMCOMMandatory1
DTMDTMOptional9
Loop RELRELOptional1
RELRELMandatory1
RFFRFFOptional1
Loop DOCDOCOptional99
DOCDOCMandatory1
DTMDTMOptional9
FTXFTXOptional99
ATTATTOptional9
MOAMOAOptional9
Loop PNAPNAOptional9
PNAPNAMandatory1
RFFRFFOptional9
ADRADROptional5
Loop IMDIMDOptional999
IMDIMDMandatory1
STSSTSOptional1
FTXFTXOptional9
ATTATTOptional1
Loop RFFRFFOptional1
RFFRFFMandatory1
PIAPIAOptional1
LOCLOCOptional2
DTMDTMOptional9
MEAMEAOptional9
ATTATTOptional99
FTXFTXOptional1
Loop ADRADROptional1
ADRADRMandatory1
Loop RFFRFFOptional9
RFFRFFMandatory1
FTXFTXOptional9
MEAMEAOptional1
Loop DOCDOCOptional1
DOCDOCMandatory1
DTMDTMOptional9
FTXFTXOptional9
Loop GEIGEIOptional99
GEIGEIMandatory1
DTMDTMOptional3
FTXFTXOptional9
Loop DOCDOCOptional1
DOCDOCMandatory1
DTMDTMOptional9
FTXFTXOptional9
Loop ARDARDOptional99
ARDARDMandatory1
MOAMOAOptional2
DTMDTMOptional5
TAXTAXOptional9
FTXFTXOptional9
ATTATTOptional9
Loop PCDPCDOptional9
PCDPCDMandatory1
DTMDTMOptional1
Loop PAIPAIOptional9
PAIPAIMandatory1
RFFRFFOptional9
CNTCNTOptional99
UNTUNTMandatory1