CONTEN Tender message (D97A)

This is the standard EDIFACT D97A spec, with 34 loops and 105 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 (86 KB) Generate classes
The ediFabric .NET template, class TSCONTEN. It needs the common segments, composites and codes of EDIFACT D97A, one download for every transaction in the version. Download C# (2 KB) Common files (47 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the CONTEN 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 CONTEN files into TSCONTEN objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D97A to this Native model with set_map to parse CONTEN 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 CONTEN classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each CONTEN as JSON. To work with CONTEN data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSCONTEN. 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.

CONTEN structure

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

IDNameUsageMax use
UNHMessage HeaderOptional1
BGMBEGINNING OF MESSAGEMandatory1
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODMandatory1
AUTAUTHENTICATION RESULTOptional2
AGRAGREEMENT IDENTIFICATIONOptional2
Loop INDINDEX DETAILSOptional1000
INDINDEX DETAILSMandatory1
RCSREQUIREMENTS AND CONDITIONSMandatory1
Loop GISGENERAL INDICATORMandatory1
GISGENERAL INDICATORMandatory1
Loop BIISTRUCTURE IDENTIFICATIONMandatory1
BIISTRUCTURE IDENTIFICATIONMandatory1
IMDITEM DESCRIPTIONMandatory9
Loop BIISTRUCTURE IDENTIFICATIONOptional1000
BIISTRUCTURE IDENTIFICATIONMandatory1
RCSREQUIREMENTS AND CONDITIONSMandatory1
GISGENERAL INDICATORMandatory10
NADNAME AND ADDRESSOptional1
LOCPLACE/LOCATION IDENTIFICATIONOptional1
APRADDITIONAL PRICE INFORMATIONOptional1
ALIADDITIONAL INFORMATIONOptional2
QTYQUANTITYOptional5
DTMDATE/TIME/PERIODOptional10
RTERATE DETAILSOptional9
Loop RFFREFERENCEOptional10
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional2
GISGENERAL INDICATOROptional5
FTXFREE TEXTOptional5
Loop CUXCURRENCIESOptional5
CUXCURRENCIESMandatory1
DTMDATE/TIME/PERIODOptional5
FTXFREE TEXTOptional1
Loop ALCALLOWANCE OR CHARGEOptional2
ALCALLOWANCE OR CHARGEMandatory1
RFFREFERENCEOptional1
DTMDATE/TIME/PERIODOptional1
RNGRANGE DETAILSOptional1
FTXFREE TEXTOptional10
Loop PCDPERCENTAGE DETAILSOptional20
PCDPERCENTAGE DETAILSMandatory1
RFFREFERENCEOptional1
Loop RCSREQUIREMENTS AND CONDITIONSOptional100
RCSREQUIREMENTS AND CONDITIONSMandatory1
BIISTRUCTURE IDENTIFICATIONMandatory1
FTXFREE TEXTOptional9
Loop ARDAMOUNTS RELATIONSHIP DETAILSMandatory100
ARDAMOUNTS RELATIONSHIP DETAILSMandatory1
MOAMONETARY AMOUNTMandatory6
FTXFREE TEXTOptional10
Loop TAXDUTY/TAX/FEE DETAILSOptional5
TAXDUTY/TAX/FEE DETAILSMandatory1
MOAMONETARY AMOUNTOptional1
LOCPLACE/LOCATION IDENTIFICATIONOptional5
Loop ALCALLOWANCE OR CHARGEOptional15
ALCALLOWANCE OR CHARGEMandatory1
ALIADDITIONAL INFORMATIONOptional5
Loop QTYQUANTITYOptional1
QTYQUANTITYMandatory1
RNGRANGE DETAILSOptional1
Loop PCDPERCENTAGE DETAILSOptional1
PCDPERCENTAGE DETAILSMandatory1
RNGRANGE DETAILSOptional1
Loop MOAMONETARY AMOUNTOptional1
MOAMONETARY AMOUNTMandatory1
RNGRANGE DETAILSOptional1
Loop RTERATE DETAILSOptional1
RTERATE DETAILSMandatory1
RNGRANGE DETAILSOptional1
Loop TAXDUTY/TAX/FEE DETAILSOptional5
TAXDUTY/TAX/FEE DETAILSMandatory1
MOAMONETARY AMOUNTOptional1
Loop NADNAME AND ADDRESSOptional20
NADNAME AND ADDRESSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional25
FIIFINANCIAL INSTITUTION INFORMATIONOptional9
FTXFREE TEXTOptional5
Loop RFFREFERENCEOptional5
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional5
Loop DOCDOCUMENT/MESSAGE DETAILSOptional5
DOCDOCUMENT/MESSAGE DETAILSMandatory1
DTMDATE/TIME/PERIODOptional5
Loop CTACONTACT INFORMATIONOptional5
CTACONTACT INFORMATIONMandatory1
COMCOMMUNICATION CONTACTOptional5
UNSSECTION CONTROLMandatory1
Loop BIISTRUCTURE IDENTIFICATIONMandatory1000
BIISTRUCTURE IDENTIFICATIONMandatory1
RCSREQUIREMENTS AND CONDITIONSMandatory1
GISGENERAL INDICATORMandatory10
Loop RFFREFERENCEOptional10
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional1
Loop DIMDIMENSIONSOptional100
DIMDIMENSIONSMandatory1
APRADDITIONAL PRICE INFORMATIONOptional1
FTXFREE TEXTOptional1
Loop LINLINE ITEMOptional100
LINLINE ITEMMandatory1
Loop IMDITEM DESCRIPTIONOptional1000
IMDITEM DESCRIPTIONMandatory1
RFFREFERENCEOptional5
GISGENERAL INDICATOROptional5
Loop QTYQUANTITYMandatory1000
QTYQUANTITYMandatory1
GISGENERAL INDICATOROptional3
APRADDITIONAL PRICE INFORMATIONOptional1
Loop PRIPRICE DETAILSOptional3
PRIPRICE DETAILSMandatory1
GISGENERAL INDICATORMandatory3
Loop ARDAMOUNTS RELATIONSHIP DETAILSOptional2
ARDAMOUNTS RELATIONSHIP DETAILSMandatory1
MOAMONETARY AMOUNTOptional1
Loop TAXDUTY/TAX/FEE DETAILSOptional5
TAXDUTY/TAX/FEE DETAILSMandatory1
MOAMONETARY AMOUNTOptional1
LOCPLACE/LOCATION IDENTIFICATIONOptional5
Loop RCSREQUIREMENTS AND CONDITIONSOptional5
RCSREQUIREMENTS AND CONDITIONSMandatory1
BIISTRUCTURE IDENTIFICATIONMandatory1
GISGENERAL INDICATORMandatory1
Loop ALCALLOWANCE OR CHARGEOptional2
ALCALLOWANCE OR CHARGEMandatory1
RFFREFERENCEOptional1
DTMDATE/TIME/PERIODOptional1
RNGRANGE DETAILSOptional1
FTXFREE TEXTOptional10
Loop PCDPERCENTAGE DETAILSOptional20
PCDPERCENTAGE DETAILSMandatory1
RFFREFERENCEOptional1
Loop IMDITEM DESCRIPTIONOptional9
IMDITEM DESCRIPTIONMandatory1
QTYQUANTITYOptional1
MOAMONETARY AMOUNTOptional1
PRIPRICE DETAILSOptional1
CNTCONTROL TOTALOptional10
UNTMessage TrailerOptional1