Documentation

EANCOM INVOIC EDI Template

Article author
Admin
  • Updated

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.

Download EDI C# Examples

The Parse & Generate EDIFACT EANCOM INVOIC code is also available on GitHub

 

Additional operations for EDIFACT EANCOM INVOIC

 

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; }
    }
}
Share this:

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.