EANCOM INVOIC EDI Template
EDI Tools for .NET uses C# classes to represent the layout of EDI transactions. These classes are nothing more than standard C# .NET classes with some extra markup and are referred to as EDI templates.
EDIFACT EANCOM INVOIC Specification
EDIFACT EANCOM INVOIC specification is available at:
EDIFACT EANCOM INVOIC Sample File
EDIFACT EANCOM INVOIC sample file is available at:
EDI Tools for .NET C# Examples
The example below is part of the EDI Tools for .NET C# Code Examples.
The Parse & Generate EDIFACT EANCOM INVOIC code is also available on GitHub
Additional operations for EDIFACT EANCOM INVOIC
- Parse EDIFACT files
- Generate EDIFACT files
- Validate EDIFACT messages
- Generate EDIFACT acknowledgments
- Save EDIFACT files to DB
- Convert between EDIFACT and JSON
- Convert between EDIFACT and XML
EDI template for EDIFACT INVOIC
namespace EdiFabric.Templates.EancomD01B
{
using System;
using System.Collections.Generic;
using EdiFabric.Core.Annotations.Edi;
using EdiFabric.Core.Annotations.Validation;
using EdiFabric.Core.Model.Edi;
using EdiFabric.Core.Model.Edi.Edifact;
///
/// Invoice message
///
[Serializable()]
[Message("EDIFACT", "D01B", "INVOIC")]
public class TSINVOIC : EdiMessage
{
///
/// Message Header
///
[Pos(1)]
public UNH UNH { get; set; }
///
/// Beginning of message
///
[Required]
[Pos(2)]
public BGM BGM { get; set; }
///
/// Date/time/period
///
[Required]
[ListCount(35)]
[Pos(3)]
public List DTM { get; set; }
///
/// Payment instructions
///
[Pos(4)]
public PAI PAI { get; set; }
///
/// Additional information
///
[ListCount(5)]
[Pos(5)]
public List ALI { get; set; }
///
/// Free text
///
[ListCount(99)]
[Pos(6)]
public List FTX { get; set; }
///
/// Loop for INVOIC:0:0070
///
[ListCount(99999)]
[Pos(7)]
public List RFFLoop { get; set; }
///
/// Loop for INVOIC:0:0100
///
[ListCount(99)]
[Pos(8)]
public List NADLoop { get; set; }
///
/// Loop for INVOIC:0:0180
///
[ListCount(5)]
[Pos(9)]
public List TAXLoop { get; set; }
///
/// Loop for INVOIC:0:0210
///
[ListCount(99)]
[Pos(10)]
public List CUXLoop { get; set; }
///
/// Loop for INVOIC:0:0240
///
[ListCount(10)]
[Pos(11)]
public List PATLoop { get; set; }
///
/// Loop for INVOIC:0:0310
///
[ListCount(10)]
[Pos(12)]
public List TDTLoop { get; set; }
///
/// Loop for INVOIC:0:0360
///
[ListCount(5)]
[Pos(13)]
public List TODLoop { get; set; }
///
/// Loop for INVOIC:0:0390
///
[ListCount(1000)]
[Pos(14)]
public List PACLoop { get; set; }
///
/// Loop for INVOIC:0:0410
///
[ListCount(9999)]
[Pos(15)]
public List ALCLoop { get; set; }
///
/// Loop for INVOIC:0:0540
///
[ListCount(9999999)]
[Pos(16)]
public List LINLoop { get; set; }
///
/// Section control
///
[Required]
[Pos(17)]
public UNS UNS { get; set; }
///
/// Control total
///
[ListCount(10)]
[Pos(18)]
public List CNT { get; set; }
///
/// Loop for INVOIC:0:1170
///
[Required]
[ListCount(100)]
[Pos(19)]
public List MOALoop { get; set; }
///
/// Loop for INVOIC:0:1220
///
[ListCount(10)]
[Pos(20)]
public List TAXLoop2 { get; set; }
///
/// Loop for INVOIC:0:1250
///
[ListCount(15)]
[Pos(21)]
public List ALCLoop2 { get; set; }
///
/// Message Trailer
///
[Pos(22)]
public UNT UNT { get; set; }
}
///
/// Loop for INVOIC:0:0410
///
[Serializable()]
[Group(typeof(ALC))]
public class Loop_ALC_INVOIC
{
///
/// Allowance or charge
///
[Required]
[Pos(1)]
public ALC ALC { get; set; }
///
/// Loop for INVOIC:0:0430
///
[Pos(2)]
public Loop_QTY_INVOIC QTYLoop { get; set; }
///
/// Loop for INVOIC:0:0450
///
[Pos(3)]
public Loop_PCD_INVOIC PCDLoop { get; set; }
///
/// Loop for INVOIC:0:0470
///
[ListCount(2)]
[Pos(4)]
public List MOALoop { get; set; }
///
/// Loop for INVOIC:0:0490
///
[Pos(5)]
public Loop_RTE_INVOIC RTELoop { get; set; }
///
/// Loop for INVOIC:0:0510
///
[ListCount(5)]
[Pos(6)]
public List TAXLoop { get; set; }
}
///
/// Loop for INVOIC:0:0950
///
[Serializable()]
[Group(typeof(ALC))]
public class Loop_ALC_INVOIC_2
{
///
/// Allowance or charge
///
[Required]
[Pos(1)]
public ALC ALC { get; set; }
///
/// Additional information
///
[ListCount(5)]
[Pos(2)]
public List ALI { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(3)]
public List DTM { get; set; }
///
/// Loop for INVOIC:0:0990
///
[Pos(4)]
public Loop_QTY_INVOIC QTYLoop { get; set; }
///
/// Loop for INVOIC:0:1010
///
[Pos(5)]
public Loop_PCD_INVOIC PCDLoop { get; set; }
///
/// Loop for INVOIC:0:1030
///
[ListCount(2)]
[Pos(6)]
public List MOALoop { get; set; }
///
/// Loop for INVOIC:0:1050
///
[Pos(7)]
public Loop_RTE_INVOIC RTELoop { get; set; }
///
/// Loop for INVOIC:0:1070
///
[ListCount(5)]
[Pos(8)]
public List TAXLoop { get; set; }
}
///
/// Loop for INVOIC:0:1250
///
[Serializable()]
[Group(typeof(ALC))]
public class Loop_ALC_INVOIC_3
{
///
/// Allowance or charge
///
[Required]
[Pos(1)]
public ALC ALC { get; set; }
///
/// Additional information
///
[Pos(2)]
public ALI ALI { get; set; }
///
/// Monetary amount
///
[ListCount(2)]
[Pos(3)]
public List MOA { get; set; }
}
///
/// Loop for INVOIC:0:0150
///
[Serializable()]
[Group(typeof(CTA))]
public class Loop_CTA_INVOIC
{
///
/// Contact information
///
[Required]
[Pos(1)]
public CTA CTA { get; set; }
///
/// Communication contact
///
[ListCount(5)]
[Pos(2)]
public List COM { get; set; }
}
///
/// Loop for INVOIC:0:0210
///
[Serializable()]
[Group(typeof(CUX))]
public class Loop_CUX_INVOIC
{
///
/// Currencies
///
[Required]
[Pos(1)]
public CUX CUX { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(2)]
public List DTM { get; set; }
}
///
/// Loop for INVOIC:0:0540
///
[Serializable()]
[Group(typeof(LIN))]
public class Loop_LIN_INVOIC
{
///
/// Line item
///
[Required]
[Pos(1)]
public LIN LIN { get; set; }
///
/// Additional product id
///
[ListCount(25)]
[Pos(2)]
public List PIA { get; set; }
///
/// Item description
///
[ListCount(99)]
[Pos(3)]
public List IMD { get; set; }
///
/// Measurements
///
[ListCount(5)]
[Pos(4)]
public List MEA { get; set; }
///
/// Quantity
///
[ListCount(5)]
[Pos(5)]
public List QTY { get; set; }
///
/// Additional information
///
[ListCount(5)]
[Pos(6)]
public List ALI { get; set; }
///
/// Date/time/period
///
[ListCount(35)]
[Pos(7)]
public List DTM { get; set; }
///
/// Goods identity number
///
[ListCount(1000)]
[Pos(8)]
public List GIN { get; set; }
///
/// Quantity variances
///
[Pos(9)]
public QVR QVR { get; set; }
///
/// Free text
///
[ListCount(99)]
[Pos(10)]
public List FTX { get; set; }
///
/// Loop for INVOIC:0:0650
///
[ListCount(99)]
[Pos(11)]
public List MOALoop { get; set; }
///
/// Loop for INVOIC:0:0670
///
[ListCount(10)]
[Pos(12)]
public List PATLoop { get; set; }
///
/// Loop for INVOIC:0:0720
///
[ListCount(25)]
[Pos(13)]
public List PRILoop { get; set; }
///
/// Loop for INVOIC:0:0750
///
[ListCount(10)]
[Pos(14)]
public List RFFLoop { get; set; }
///
/// Loop for INVOIC:0:0780
///
[ListCount(10)]
[Pos(15)]
public List PACLoop { get; set; }
///
/// Loop for INVOIC:0:0840
///
[ListCount(9999)]
[Pos(16)]
public List LOCLoop { get; set; }
///
/// Loop for INVOIC:0:0880
///
[ListCount(99)]
[Pos(17)]
public List TAXLoop { get; set; }
///
/// Loop for INVOIC:0:0910
///
[ListCount(99)]
[Pos(18)]
public List NADLoop { get; set; }
///
/// Loop for INVOIC:0:0950
///
[ListCount(30)]
[Pos(19)]
public List ALCLoop { get; set; }
///
/// Loop for INVOIC:0:1100
///
[ListCount(10)]
[Pos(20)]
public List TDTLoop { get; set; }
///
/// Loop for INVOIC:0:1120
///
[ListCount(5)]
[Pos(21)]
public List TODLoop { get; set; }
}
///
/// Loop for INVOIC:0:0330
///
[Serializable()]
[Group(typeof(LOC))]
public class Loop_LOC_INVOIC
{
///
/// Place/location identification
///
[Required]
[Pos(1)]
public LOC LOC { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(2)]
public List DTM { get; set; }
}
///
/// Loop for INVOIC:0:0840
///
[Serializable()]
[Group(typeof(LOC))]
public class Loop_LOC_INVOIC_2
{
///
/// Place/location identification
///
[Required]
[Pos(1)]
public LOC LOC { get; set; }
///
/// Quantity
///
[ListCount(100)]
[Pos(2)]
public List QTY { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(3)]
public List DTM { get; set; }
}
///
/// Loop for INVOIC:0:0470
///
[Serializable()]
[Group(typeof(MOA))]
public class Loop_MOA_INVOIC
{
///
/// Monetary amount
///
[Required]
[Pos(1)]
public MOA MOA { get; set; }
}
///
/// Loop for INVOIC:0:1170
///
[Serializable()]
[Group(typeof(MOA))]
public class Loop_MOA_INVOIC_2
{
///
/// Monetary amount
///
[Required]
[Pos(1)]
public MOA MOA { get; set; }
///
/// Loop for INVOIC:0:1190
///
[Pos(2)]
public Loop_RFF_INVOIC RFFLoop { get; set; }
}
///
/// Loop for INVOIC:0:0100
///
[Serializable()]
[Group(typeof(NAD))]
public class Loop_NAD_INVOIC
{
///
/// Name and address
///
[Required]
[Pos(1)]
public NAD NAD { get; set; }
///
/// Financial institution information
///
[ListCount(5)]
[Pos(2)]
public List FII { get; set; }
///
/// Loop for INVOIC:0:0130
///
[ListCount(9999)]
[Pos(3)]
public List RFFLoop { get; set; }
///
/// Loop for INVOIC:0:0150
///
[ListCount(5)]
[Pos(4)]
public List CTALoop { get; set; }
}
///
/// Loop for INVOIC:0:0910
///
[Serializable()]
[Group(typeof(NAD))]
public class Loop_NAD_INVOIC_2
{
///
/// Name and address
///
[Required]
[Pos(1)]
public NAD NAD { get; set; }
///
/// Loop for INVOIC:0:0930
///
[ListCount(5)]
[Pos(2)]
public List RFFLoop { get; set; }
}
///
/// Loop for INVOIC:0:0390
///
[Serializable()]
[Group(typeof(PAC))]
public class Loop_PAC_INVOIC
{
///
/// Package
///
[Required]
[Pos(1)]
public PAC PAC { get; set; }
}
///
/// Loop for INVOIC:0:0780
///
[Serializable()]
[Group(typeof(PAC))]
public class Loop_PAC_INVOIC_2
{
///
/// Package
///
[Required]
[Pos(1)]
public PAC PAC { get; set; }
///
/// Measurements
///
[ListCount(10)]
[Pos(2)]
public List MEA { get; set; }
///
/// Loop for INVOIC:0:0810
///
[ListCount(10)]
[Pos(3)]
public List PCILoop { get; set; }
}
///
/// Loop for INVOIC:0:0240
///
[Serializable()]
[Group(typeof(PAT))]
public class Loop_PAT_INVOIC
{
///
/// Payment terms basis
///
[Required]
[Pos(1)]
public PAT PAT { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(2)]
public List DTM { get; set; }
///
/// Percentage details
///
[Pos(3)]
public PCD PCD { get; set; }
///
/// Monetary amount
///
[Pos(4)]
public MOA MOA { get; set; }
///
/// Payment instructions
///
[Pos(5)]
public PAI PAI { get; set; }
///
/// Financial institution information
///
[Pos(6)]
public FII FII { get; set; }
}
///
/// Loop for INVOIC:0:0670
///
[Serializable()]
[Group(typeof(PAT))]
public class Loop_PAT_INVOIC_2
{
///
/// Payment terms basis
///
[Required]
[Pos(1)]
public PAT PAT { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(2)]
public List DTM { get; set; }
///
/// Percentage details
///
[ListCount(99)]
[Pos(3)]
public List PCD { get; set; }
///
/// Monetary amount
///
[Pos(4)]
public MOA MOA { get; set; }
}
///
/// Loop for INVOIC:0:0450
///
[Serializable()]
[Group(typeof(PCD))]
public class Loop_PCD_INVOIC
{
///
/// Percentage details
///
[Required]
[Pos(1)]
public PCD PCD { get; set; }
}
///
/// Loop for INVOIC:0:0810
///
[Serializable()]
[Group(typeof(PCI))]
public class Loop_PCI_INVOIC
{
///
/// Package identification
///
[Required]
[Pos(1)]
public PCI PCI { get; set; }
///
/// Goods identity number
///
[ListCount(10)]
[Pos(2)]
public List GIN { get; set; }
}
///
/// Loop for INVOIC:0:0720
///
[Serializable()]
[Group(typeof(PRI))]
public class Loop_PRI_INVOIC
{
///
/// Price details
///
[Required]
[Pos(1)]
public PRI PRI { get; set; }
///
/// Additional price information
///
[Pos(2)]
public APR APR { get; set; }
}
///
/// Loop for INVOIC:0:0430
///
[Serializable()]
[Group(typeof(QTY))]
public class Loop_QTY_INVOIC
{
///
/// Quantity
///
[Required]
[Pos(1)]
public QTY QTY { get; set; }
}
///
/// Loop for INVOIC:0:0070
///
[Serializable()]
[Group(typeof(RFF))]
public class Loop_RFF_INVOIC
{
///
/// Reference
///
[Required]
[Pos(1)]
public RFF RFF { get; set; }
///
/// Date/time/period
///
[ListCount(5)]
[Pos(2)]
public List DTM { get; set; }
}
///
/// Loop for INVOIC:0:0130
///
[Serializable()]
[Group(typeof(RFF))]
public class Loop_RFF_INVOIC_2
{
///
/// Reference
///
[Required]
[Pos(1)]
public RFF RFF { get; set; }
}
///
/// Loop for INVOIC:0:0490
///
[Serializable()]
[Group(typeof(RTE))]
public class Loop_RTE_INVOIC
{
///
/// Rate details
///
[Required]
[Pos(1)]
public RTE RTE { get; set; }
}
///
/// Loop for INVOIC:0:0180
///
[Serializable()]
[Group(typeof(TAX))]
public class Loop_TAX_INVOIC
{
///
/// Duty/tax/fee details
///
[Required]
[Pos(1)]
public TAX TAX { get; set; }
///
/// Monetary amount
///
[Pos(2)]
public MOA MOA { get; set; }
}
///
/// Loop for INVOIC:0:0880
///
[Serializable()]
[Group(typeof(TAX))]
public class Loop_TAX_INVOIC_2
{
///
/// Duty/tax/fee details
///
[Required]
[Pos(1)]
public TAX TAX { get; set; }
///
/// Monetary amount
///
[ListCount(2)]
[Pos(2)]
public List MOA { get; set; }
}
///
/// Loop for INVOIC:0:1220
///
[Serializable()]
[Group(typeof(TAX))]
public class Loop_TAX_INVOIC_3
{
///
/// Duty/tax/fee details
///
[Required]
[Pos(1)]
public TAX TAX { get; set; }
///
/// Monetary amount
///
[ListCount(9)]
[Pos(2)]
public List MOA { get; set; }
}
///
/// Loop for INVOIC:0:0310
///
[Serializable()]
[Group(typeof(TDT))]
public class Loop_TDT_INVOIC
{
///
/// Details of transport
///
[Required]
[Pos(1)]
public TDT TDT { get; set; }
///
/// Loop for INVOIC:0:0330
///
[ListCount(10)]
[Pos(2)]
public List LOCLoop { get; set; }
}
///
/// Loop for INVOIC:0:1100
///
[Serializable()]
[Group(typeof(TDT))]
public class Loop_TDT_INVOIC_2
{
///
/// Details of transport
///
[Required]
[Pos(1)]
public TDT TDT { get; set; }
}
///
/// Loop for INVOIC:0:0360
///
[Serializable()]
[Group(typeof(TOD))]
public class Loop_TOD_INVOIC
{
///
/// Terms of delivery or transport
///
[Required]
[Pos(1)]
public TOD TOD { get; set; }
///
/// Place/location identification
///
[ListCount(2)]
[Pos(2)]
public List LOC { get; set; }
}
}
Comments
0 comments
Please sign in to leave a comment.