Class Invoice


  • public class Invoice
    extends Object
    BG-0:Invoice

    Cross Industry Invoice

    XPath:/rsm:CrossIndustryInvoice

    • Constructor Detail

      • Invoice

        public Invoice​(Identifier invoiceNumber,
                       Codes.InvoiceTypeCode invoiceTypeCode,
                       LocalDate invoiceIssueDate,
                       Codes.Currency invoiceCurrencyCode,
                       Amount sumOfInvoiceLineNetAmount,
                       Amount invoiceTotalAmountWithoutVAT,
                       Amount invoiceTotalAmountWithVAT)
        Creates an Invoice object
        Parameters:
        invoiceNumber - BT-1:Invoice number

        A unique identification of the Invoice.

        The sequential number required in Article 226(2) of the directive 2006/112/EC [2], to uniquely identify the Invoice within the business context, time-frame, operating systems and records of the Seller. It may be based on one or more series of numbers, which may include alphanumeric characters. No identification scheme is to be used.

        CHORUSPRO: the invoice number is limited to 20 characters

        BR-2: An Invoice shall have an Invoice number (BT-1).

        invoiceTypeCode - BT-3:Invoice type code

        A code specifying the functional type of the Invoice.

        Commercial invoices and credit notes are defined according the entries in UNTDID 1001 [6].Other entries of UNTDID 1001 [6] with specific invoices or credit notes may be used if applicable.

        The types of documents used are:380: Commercial Invoice381: Credit note384: Corrected invoice389: Self-billied invoice (created by the buyer on behalf of the supplier)261: Self billed credit note (not accepted by CHORUSPRO)386: Prepayment invoice751: Invoice information for accounting purposes (not accepted by CHORUSPRO)

        BR-4: An Invoice shall have an Invoice type code (BT-3).

        invoiceIssueDate - BT-2:Invoice issue date

        The date when the Invoice was issued.

        CHORUSPRO: the issue date must be before or equal to the deposit date.

        BR-3: An Invoice shall have an Invoice issue date (BT-2).

        invoiceCurrencyCode - BT-5:Invoice currency code

        The currency in which all Invoice amounts are given, except for the Total VAT amount in accounting currency.

        Only one currency shall be used in the Invoice, except for the Invoice total VAT amount in accounting currency (BT-111) in accordance with article 230 of Directive 2006/112/EC on VAT [2].The lists of valid currencies are registered with the ISO 4217 Maintenance Agency “Codes for the representation of currencies and funds”.

        CHORUS PRO: Invoices and credit notes or Chorus Pro are mono-currencies only.

        BR-5: An Invoice shall have an Invoice currency code (BT-5).

        sumOfInvoiceLineNetAmount - BT-106:Sum of Invoice line net amount

        Sum of all Invoice line net amounts in the Invoice.

        BR-12: An Invoice shall have the Sum of Invoice line net amount (BT-106).BR-CO-10: Sum of Invoice line net amount (BT-106) = ? Invoice line net amount (BT-131).

        invoiceTotalAmountWithoutVAT - BT-109:Invoice total amount without VAT

        The total amount of the Invoice without VAT.

        The Invoice total amount without VAT is the Sum of Invoice line net amount minus Sum of allowances on document level plus Sum of charges on document level.

        BR-13: An Invoice shall have the Invoice total amount without VAT (BT-109).BR-CO-13: Invoice total amount without VAT (BT-109) = ? Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

        invoiceTotalAmountWithVAT - BT-112:Invoice total amount with VAT

        The total amount of the Invoice with VAT.

        The Invoice total amount with VAT is the Invoice total amount without VAT plus the Invoice total VAT amount.

        BR-14: An Invoice shall have the Invoice total amount with VAT (BT-112).BR-CO-15: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

    • Method Detail

      • setRecompute

        public void setRecompute​(boolean value)
        Controls the computation of computed fields like getInvoiceTotalAmountWithoutVAT() By default the values are always computed but in the case that the values were explicitly set (e.g. after creating and instance via fromXML(String,boolean)), it might be desirable to obtain the explicitly set values instead.
        Parameters:
        value - whether or not to ignore explicitly set values of computed fields and work with computed values instead
      • initForUnitTest

        public void initForUnitTest()
        Initializes in a way so that lists that have mandatory entries like VATBreakdowns are empty and need to be explicitly filled.
      • appendNewInvoiceNote

        public InvoiceNote appendNewInvoiceNote()
        Creates an InvoiceNote object and appends it to the list obtainable by a call to get getInvoiceNotes()
        Returns:
        InvoiceNote
      • appendNewSellerIdentifier

        public SellerIdentifier appendNewSellerIdentifier()
        Creates a SellerIdentifier object and appends it to the list obtainable by a call to get getSellerIdentifiers()
        Returns:
        SellerIdentifier
      • appendNewSellerVATIdentifier

        public SellerVATIdentifier appendNewSellerVATIdentifier()
        Creates a SellerVATIdentifier object and appends it to the list obtainable by a call to get getSellerVATIdentifiers()
        Returns:
        SellerVATIdentifier
      • appendNewBuyerIdentifier

        public BuyerIdentifier appendNewBuyerIdentifier()
        Creates a BuyerIdentifier object and appends it to the list obtainable by a call to get getBuyerIdentifiers()
        Returns:
        BuyerIdentifier
      • appendNewBuyerVATIdentifier

        public BuyerVATIdentifier appendNewBuyerVATIdentifier()
        Creates a BuyerVATIdentifier object and appends it to the list obtainable by a call to get getBuyerVATIdentifiers()
        Returns:
        BuyerVATIdentifier
      • appendNewPurchaseOrderReference

        public PurchaseOrderReference appendNewPurchaseOrderReference()
        Creates a PurchaseOrderReference object and appends it to the list obtainable by a call to get getPurchaseOrderReferences()
        Returns:
        PurchaseOrderReference
      • appendNewContractReference

        public ContractReference appendNewContractReference()
        Creates a ContractReference object and appends it to the list obtainable by a call to get getContractReferences()
        Returns:
        ContractReference
      • appendNewDeliverToIdentifier

        public DeliverToIdentifier appendNewDeliverToIdentifier()
        Creates a DeliverToIdentifier object and appends it to the list obtainable by a call to get getDeliverToIdentifiers()
        Returns:
        DeliverToIdentifier
      • appendNewDespatchAdviceReference

        public DespatchAdviceReference appendNewDespatchAdviceReference()
        Creates a DespatchAdviceReference object and appends it to the list obtainable by a call to get getDespatchAdviceReferences()
        Returns:
        DespatchAdviceReference
      • appendNewPayeeIdentifier

        public PayeeIdentifier appendNewPayeeIdentifier()
        Creates a PayeeIdentifier object and appends it to the list obtainable by a call to get getPayeeIdentifiers()
        Returns:
        PayeeIdentifier
      • appendNewVATBreakdown

        public VATBreakdown appendNewVATBreakdown​(Codes.VATCategoryCode vATCategoryCode)
        Creates a VATBreakdown object and appends it to the list obtainable by a call to get getVATBreakdowns()
        Parameters:
        vATCategoryCode - BT-118:VAT category code

        Coded identification of a VAT category.

        The following entries of UNTDID 5305 [6] are used (further clarification between brackets):- Standard rate (Liable for VAT in a standard way)- Zero rated goods (Liable for VAT with a percentage rate of zero)- Exempt from tax (VAT/IGIC/IPSI)- VAT Reverse Charge (Reverse charge VAT/IGIC/IPSI rules apply)- VAT exempt for intra community supply of goods (VAT/IGIC/IPSI not levied due to Intra-community supply rules)- Free export item, tax not charged (VAT/IGIC/IPSI not levied due to export outside of the EU)- Services outside scope of tax (Sale is not subject to VAT/IGIC/IPSI)- Canary Islands General Indirect Tax (Liable for IGIC tax)- Liable for IPSI (Ceuta/Melilla tax)

        The VAT category codes are as follows:S = Standard VAT rateZ = Zero rated goodsE = VAT exemptAE = Reverse chargeK = Intra-Community supply (specific reverse charge)G = Exempt VAT for Export outside EUO = Outside VAT scopeL = Canary IslandsM = Ceuta and Mellila

        BR-47: Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).

        Returns:
        VATBreakdown
      • appendNewDocumentLevelAllowances

        public DocumentLevelAllowances appendNewDocumentLevelAllowances()
        Creates a DocumentLevelAllowances object and appends it to the list obtainable by a call to get getDocumentLevelAllowances()
        Returns:
        DocumentLevelAllowances
      • appendNewInvoiceTotalVATAmount

        public InvoiceTotalVATAmount appendNewInvoiceTotalVATAmount()
        Creates an InvoiceTotalVATAmount object and appends it to the list obtainable by a call to get getInvoiceTotalVATAmounts() Please note that by default every invoice already has one InvoiceTotalVATAmount object for the currency of the invoice getInvoiceCurrencyCode().
        Returns:
        InvoiceTotalVATAmount
      • setBusinessProcessType

        public Invoice setBusinessProcessType​(String value)
        Parameters:
        value - BT-23:Business process type

        Identifies the business process context in which the transaction appears, to enable the Buyer to process the Invoice in an appropriate way.

        To be specified by the Buyer.

        CHORUSPRO: this data makes it possible to inform the "cadre de facturation" (billing framework, which could be invoice from agent, co-contractor, subcontractor, invoicing part of a public works contract, etc.). The codes to be used are defined in the CHORUSPRO specifications: A1 (invoice deposit), A2 (prepaid invoice deposit), ... By default (in the absence of this field), the case A1 is applied.

        XPath:/rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID

        Returns:
        Invoice
      • setInvoiceNumber

        public Invoice setInvoiceNumber​(Identifier value)
        Parameters:
        value - BT-1:Invoice number

        A unique identification of the Invoice.

        The sequential number required in Article 226(2) of the directive 2006/112/EC [2], to uniquely identify the Invoice within the business context, time-frame, operating systems and records of the Seller. It may be based on one or more series of numbers, which may include alphanumeric characters. No identification scheme is to be used.

        CHORUSPRO: the invoice number is limited to 20 characters

        BR-2: An Invoice shall have an Invoice number (BT-1).

        XPath:/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID

        Returns:
        Invoice
      • setInvoiceTypeCode

        public Invoice setInvoiceTypeCode​(Codes.InvoiceTypeCode value)
        Parameters:
        value - BT-3:Invoice type code

        A code specifying the functional type of the Invoice.

        Commercial invoices and credit notes are defined according the entries in UNTDID 1001 [6].Other entries of UNTDID 1001 [6] with specific invoices or credit notes may be used if applicable.

        The types of documents used are:380: Commercial Invoice381: Credit note384: Corrected invoice389: Self-billied invoice (created by the buyer on behalf of the supplier)261: Self billed credit note (not accepted by CHORUSPRO)386: Prepayment invoice751: Invoice information for accounting purposes (not accepted by CHORUSPRO)

        BR-4: An Invoice shall have an Invoice type code (BT-3).

        XPath:/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:TypeCode

        Returns:
        Invoice
      • setInvoiceIssueDate

        public Invoice setInvoiceIssueDate​(LocalDate value)
        Parameters:
        value - BT-2:Invoice issue date

        The date when the Invoice was issued.

        CHORUSPRO: the issue date must be before or equal to the deposit date.

        BR-3: An Invoice shall have an Invoice issue date (BT-2).

        XPath:/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString

        Returns:
        Invoice
      • setBuyerReference

        public Invoice setBuyerReference​(String value)
        Parameters:
        value - BT-10:Buyer reference

        An identifier assigned by the Buyer used for internal routing purposes.

        The identifier is defined by the Buyer (e.g. contact ID, department, office id, project code), but provided by the Seller in the Invoice.

        CHORUS PRO: for the public sector, it is the "Service Exécutant". It is mandatory for some buyers. It must belong to the Chorus Pro repository. It is limited to 100 characters.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerReference

        Returns:
        Invoice
      • setSellerName

        public Invoice setSellerName​(String value)
        Parameters:
        value - BT-27:Seller name

        The full formal name by which the Seller is registered in the national registry of legal entities or as a Taxable person or otherwise trades as a person or persons.

        BR-6: An Invoice shall contain the Seller name (BT-27).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name

        Returns:
        Invoice
      • setSellerLegalOrganizationSchemeIdentiferAttribute

        public Invoice setSellerLegalOrganizationSchemeIdentiferAttribute​(Codes.SchemeIdentifier value)
        Parameters:
        value - BT-30-1:Seller legal registration identifier identification scheme identifier

        The identification scheme identifier of the Seller legal registration identifier.

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID

        Returns:
        Invoice
      • setSellerLegalOrganizationIdentifer

        public Invoice setSellerLegalOrganizationIdentifer​(Identifier value)
        Parameters:
        value - BT-30:Seller legal registration identifier

        An identifier issued by an official registrar that identifies the Seller as a legal entity or person.

        If no identification scheme is specified, it should be known by Buyer and Seller.

        BR-CO-26: In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID

        Returns:
        Invoice
      • setSellerLegalOrganizationTradingName

        public Invoice setSellerLegalOrganizationTradingName​(String value)
        Parameters:
        value - BT-28:Seller trading name

        A name by which the Seller is known, other than Seller name (also known as Business name).

        This may be used if different from the Seller name.

        CHORUS PRO: this field is limied to 99 characters.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName

        Returns:
        Invoice
      • setSellerPostCode

        public Invoice setSellerPostCode​(String value)
        Parameters:
        value - BT-38:Seller post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

        Returns:
        Invoice
      • setSellerAddressLine1

        public Invoice setSellerAddressLine1​(String value)
        Parameters:
        value - BT-35:Seller address line 1

        The main address line in an address.

        Usually the street name and number or post office box.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineOne

        Returns:
        Invoice
      • setSellerAddressLine2

        public Invoice setSellerAddressLine2​(String value)
        Parameters:
        value - BT-36:Seller address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineTwo

        Returns:
        Invoice
      • setSellerAddressLine3

        public Invoice setSellerAddressLine3​(String value)
        Parameters:
        value - BT-162:Seller address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineThree

        Returns:
        Invoice
      • setSellerCity

        public Invoice setSellerCity​(String value)
        Parameters:
        value - BT-37:Seller city

        The common name of the city, town or village, where the Seller address is located.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CityName

        Returns:
        Invoice
      • setSellerCountryCode

        public Invoice setSellerCountryCode​(Codes.CountryCodeList value)
        Parameters:
        value - BT-40:Seller country code

        A code that identifies the country.

        If no tax representative is specified, this is the country where VAT is liable. The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-9: The Seller postal address (BG-5) shall contain a Seller country code (BT-40).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID

        Returns:
        Invoice
      • setSellerCountrySubdivision

        public Invoice setSellerCountrySubdivision​(String value)
        Parameters:
        value - BT-39:Seller country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName

        Returns:
        Invoice
      • setSellerElectronicAddressScheme

        public Invoice setSellerElectronicAddressScheme​(Codes.ElectronicAddressScheme value)
        Parameters:
        value - BT-34-1:Seller electronic address identification scheme identifier

        The identification scheme identifier of the Seller electronic address

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID/@schemeID

        Returns:
        Invoice
      • setSellerElectronicAddress

        public Invoice setSellerElectronicAddress​(Identifier value)
        Parameters:
        value - BT-34:Seller electronic address

        Identifies the Seller's electronic address to which the application level response to the invoice may be delivered.The identification scheme identifier of the Seller electronic address.

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        BR-62: The Seller electronic address (BT-34) shall have a Scheme identifier.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID

        Returns:
        Invoice
      • setBuyerName

        public Invoice setBuyerName​(String value)
        Parameters:
        value - BT-44:Buyer name

        The full name of the Buyer.

        CHORUS PRO: this field is limied to 99 characters.

        BR-7: An Invoice shall contain the Buyer name (BT-44).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name

        Returns:
        Invoice
      • setBuyerLegalOrganizationSchemeIdentiferAttribute

        public Invoice setBuyerLegalOrganizationSchemeIdentiferAttribute​(Codes.SchemeIdentifier value)
        Parameters:
        value - BT-47-1:scheme identifier attribute

        Scheme identifier for Buyer legal identifier

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID

        Returns:
        Invoice
      • setBuyerLegalOrganizationIdentifer

        public Invoice setBuyerLegalOrganizationIdentifer​(Identifier value)
        Parameters:
        value - BT-47:Buyer legal registration identifier

        An identifier issued by an official registrar that identifies the Buyer as a legal entity or person.The identification scheme identifier of the Buyer legal registration identifier.

        If no identification scheme is specified, it should be known by Buyer and Seller, e.g. the identifier that is exclusively used in the applicable legal environment.If used, the identification scheme shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        CHORUSPRO: the identifier of the buyer (public entity) is mandatory and is always a SIRET number

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID

        Returns:
        Invoice
      • setBuyerPostCode

        public Invoice setBuyerPostCode​(String value)
        Parameters:
        value - BT-53:Buyer post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

        Returns:
        Invoice
      • setBuyerAddressLine1

        public Invoice setBuyerAddressLine1​(String value)
        Parameters:
        value - BT-50:Buyer address line 1

        The main address line in an address.

        Usually the street name and number or post office box.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineOne

        Returns:
        Invoice
      • setBuyerAddressLine2

        public Invoice setBuyerAddressLine2​(String value)
        Parameters:
        value - BT-51:Buyer address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineTwo

        Returns:
        Invoice
      • setBuyerAddressLine3

        public Invoice setBuyerAddressLine3​(String value)
        Parameters:
        value - BT-163:Buyer address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineThree

        Returns:
        Invoice
      • setBuyerCity

        public Invoice setBuyerCity​(String value)
        Parameters:
        value - BT-52:Buyer city

        The common name of the city, town or village, where the Buyer's address is located.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName

        Returns:
        Invoice
      • setBuyerCountryCode

        public Invoice setBuyerCountryCode​(Codes.CountryCodeList value)
        Parameters:
        value - BT-55:Buyer country code

        A code that identifies the country.

        The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-11: The Buyer postal address shall contain a Buyer country code (BT-55).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID

        Returns:
        Invoice
      • setBuyerCountrySubdivision

        public Invoice setBuyerCountrySubdivision​(String value)
        Parameters:
        value - BT-54:Buyer country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName

        Returns:
        Invoice
      • setBuyerElectronicAddressScheme

        public Invoice setBuyerElectronicAddressScheme​(Codes.ElectronicAddressScheme value)
        Parameters:
        value - BT-49-1:scheme identifier attribute

        Scheme identifier for Buyer electronic address

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID/@schemeID

        Returns:
        Invoice
      • setBuyerElectronicAddress

        public Invoice setBuyerElectronicAddress​(Identifier value)
        Parameters:
        value - BT-49:Buyer electronic address

        Identifies the Buyer's electronic address to which the invoice is delivered.

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        BR-63: The Buyer electronic address (BT-49) shall have a Scheme identifier.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID

        Returns:
        Invoice
      • setSellerTaxRepresentativeName

        public Invoice setSellerTaxRepresentativeName​(String value)
        Parameters:
        value - BT-62:Seller tax representative name

        The full name of the Seller's tax representative party.

        BR-18: The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:Name

        Returns:
        Invoice
      • setSellerTaxRepresentativePostCode

        public Invoice setSellerTaxRepresentativePostCode​(String value)
        Parameters:
        value - BT-67:Tax representative post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

        Returns:
        Invoice
      • setSellerTaxRepresentativeAddressLine1

        public Invoice setSellerTaxRepresentativeAddressLine1​(String value)
        Parameters:
        value - BT-64:Tax representative address line 1

        The main address line in an address.

        Usually the street name and number or the post office box.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineOne

        Returns:
        Invoice
      • setSellerTaxRepresentativeAddressLine2

        public Invoice setSellerTaxRepresentativeAddressLine2​(String value)
        Parameters:
        value - BT-65:Tax representative address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineTwo

        Returns:
        Invoice
      • setSellerTaxRepresentativeAddressLine3

        public Invoice setSellerTaxRepresentativeAddressLine3​(String value)
        Parameters:
        value - BT-164:Tax representative address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineThree

        Returns:
        Invoice
      • setSellerTaxRepresentativeCity

        public Invoice setSellerTaxRepresentativeCity​(String value)
        Parameters:
        value - BT-66:Tax representative city

        The common name of the city, town or village, where the tax representative address is located.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CityName

        Returns:
        Invoice
      • setSellerTaxRepresentativeCountryCode

        public Invoice setSellerTaxRepresentativeCountryCode​(Codes.CountryCodeList value)
        Parameters:
        value - BT-69:Tax representative country code

        A code that identifies the country.

        Country where VAT is liable. The lists of valid countries are registered with theEN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-20: The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID

        Returns:
        Invoice
      • setSellerTaxRepresentativeCountrySubdivision

        public Invoice setSellerTaxRepresentativeCountrySubdivision​(String value)
        Parameters:
        value - BT-68:Tax representative country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName

        Returns:
        Invoice
      • setDeliverToName

        public Invoice setDeliverToName​(String value)
        Parameters:
        value - BT-70:Deliver to party name

        The name of the party to which the goods and services are delivered.

        Shall be used if the Deliver to party is different from the Buyer.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:Name

        Returns:
        Invoice
      • setDeliverToPostCode

        public Invoice setDeliverToPostCode​(String value)
        Parameters:
        value - BT-78:Deliver to post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

        Returns:
        Invoice
      • setDeliverToAddressLine1

        public Invoice setDeliverToAddressLine1​(String value)
        Parameters:
        value - BT-75:Deliver to address line 1

        The main address line in an address.

        Usually the street name and number.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineOne

        Returns:
        Invoice
      • setDeliverToAddressLine2

        public Invoice setDeliverToAddressLine2​(String value)
        Parameters:
        value - BT-76:Deliver to address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineTwo

        Returns:
        Invoice
      • setDeliverToAddressLine3

        public Invoice setDeliverToAddressLine3​(String value)
        Parameters:
        value - BT-165:Deliver to address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineThree

        Returns:
        Invoice
      • setDeliverToCity

        public Invoice setDeliverToCity​(String value)
        Parameters:
        value - BT-77:Deliver to city

        The common name of the city, town or village, where the deliver to address is located.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CityName

        Returns:
        Invoice
      • setDeliverToCountryCode

        public Invoice setDeliverToCountryCode​(Codes.CountryCodeList value)
        Parameters:
        value - BT-80:Deliver to country code

        A code that identifies the country.

        The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-57: Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID

        Returns:
        Invoice
      • setDeliverToCountrySubdivision

        public Invoice setDeliverToCountrySubdivision​(String value)
        Parameters:
        value - BT-79:Deliver to country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName

        Returns:
        Invoice
      • setActualDeliveryDate

        public Invoice setActualDeliveryDate​(LocalDate value)
        Parameters:
        value - BT-72:Actual delivery date

        the date on which the supply of goods or services was made or completed.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString

        Returns:
        Invoice
      • setBankAssignedCreditorIdentifier

        public Invoice setBankAssignedCreditorIdentifier​(Identifier value)
        Parameters:
        value - BT-90:Bank assigned creditor identifier

        Unique banking reference identifier of the Payee or Seller assigned by the Payee or Seller bank.

        Used in order to pre-notify the Buyer of a SEPA direct debit.

        This is the ICS for SEPA direct debits

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID

        Returns:
        Invoice
      • setRemittanceInformation

        public Invoice setRemittanceInformation​(String value)
        Parameters:
        value - BT-83:Remittance information

        A textual value used to establish a link between the payment and the Invoice, issued by the Seller.

        Used for creditor's critical reconciliation information. This information element helps the Seller to assign an incoming payment to the relevant payment process. When specifying the textual value, which is commonly the invoice number of the invoice being paid, but may be another seller reference, the buyer should indicate this reference in his payment order when executing the payment. In a payment transaction this reference is transferred back to the Seller as Remittance Information.In order to allow for automatic processing of cross-border SEPA payments, only Latin characters should be used in this field, with a maximum of 140 characters. Reference section 1.4 of the SEPA credit transfer and SEPA direct debit scheme implementation guides [13] and [14] for details of the allowed characters. Other rules may apply for SEPA payments within national borders.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PaymentReference

        Returns:
        Invoice
      • setInvoiceCurrencyCode

        public Invoice setInvoiceCurrencyCode​(Codes.Currency value)
        Parameters:
        value - BT-5:Invoice currency code

        The currency in which all Invoice amounts are given, except for the Total VAT amount in accounting currency.

        Only one currency shall be used in the Invoice, except for the Invoice total VAT amount in accounting currency (BT-111) in accordance with article 230 of Directive 2006/112/EC on VAT [2].The lists of valid currencies are registered with the ISO 4217 Maintenance Agency “Codes for the representation of currencies and funds”.

        CHORUS PRO: Invoices and credit notes or Chorus Pro are mono-currencies only.

        BR-5: An Invoice shall have an Invoice currency code (BT-5).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode

        Returns:
        Invoice
      • setPayeeName

        public Invoice setPayeeName​(String value)
        Parameters:
        value - BT-59:Payee name

        The name of the Payee.

        Shall be used when the Payee is different from the Seller. The Payee name may however be the same as the Seller name.

        If the PAYEE party bock is present, the name of the Payee is mandatory

        BR-17: The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:Name

        Returns:
        Invoice
      • setPayeeLegalOrganizationSchemeIdentiferAttribute

        public Invoice setPayeeLegalOrganizationSchemeIdentiferAttribute​(Codes.SchemeIdentifier value)
        Parameters:
        value - BT-61-1:Scheme identifier

        The identification scheme identifier of the Payee legal registration identifier.

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID

        Returns:
        Invoice
      • setPayeeLegalOrganizationIdentifer

        public Invoice setPayeeLegalOrganizationIdentifer​(Identifier value)
        Parameters:
        value - BT-61:Payee legal registration identifierScheme identifier

        An identifier issued by an official registrar that identifies the Payee as a legal entity or person.The identification scheme identifier of the Payee legal registration identifier.

        If no scheme is specified, it should be known by Buyer and Seller, e.g. the identifier that is exclusively used in the applicable legal environment.If used, the identification scheme shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID

        Returns:
        Invoice
      • setPaymentMeansTypeCode

        public Invoice setPaymentMeansTypeCode​(Codes.PaymentMeansCode value)
        Parameters:
        value - BT-81:Payment means type code

        The means, expressed as code, for how a payment is expected to be or has been settled.

        Entries from the UNTDID 4461 code list [6] shall be used. Distinction should be made between SEPA and non-SEPA payments, and between credit payments, direct debits, card payments and other instruments.

        In particular, the following codes can be used:10: Species20: Check30: Transfer (includes SEPA transfer for CHORUSPRO)42: Payment on bank account48: Payment by credit card49: Direct debit (includes SEPA Direct Debit for CHORUSPRO)57 : Standing Agreement58: SEPA transfer (not used for CHORUSPRO: code 30)59: SEPA Direct Debit (not used for CHORUSPRO: code 49)97: ReportZZZ: agreed amoung trading partners on interim basis

        BR-49: A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode

        Returns:
        Invoice
      • setDebitedAccountIdentifier

        public Invoice setDebitedAccountIdentifier​(Identifier value)
        Parameters:
        value - BT-91:Debited account identifier

        The account to be debited by the direct debit.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID

        Returns:
        Invoice
      • setPaymentAccountIdentifier

        public Invoice setPaymentAccountIdentifier​(Identifier value)
        Parameters:
        value - BT-84:Payment account identifier

        A unique identifier of the financial payment account, at a payment service provider, to which payment should be made.

        Such as IBAN (in case of a SEPA payment) or a national account number.

        Use IBANID if applicable, ProprietaryID elseBR-50: A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.BR-61: If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID

        Returns:
        Invoice
      • setProprietaryID

        public Invoice setProprietaryID​(Identifier value)
        Parameters:
        value - BT-84-0:

        Use IBANID when appropriate, otherwise use ProprietaryID

        Use IBANID if applicable, ProprietaryID else

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID

        Returns:
        Invoice
      • setInvoicingPeriodStartDate

        public Invoice setInvoicingPeriodStartDate​(LocalDate value)
        Parameters:
        value - BT-73:Invoicing period start date

        The date when the Invoice period starts.

        The initial date of delivery of goods or services.

        This date must be less than or equal to the period end date (BT-74), if it exists

        BR-CO-19: If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString

        Returns:
        Invoice
      • setInvoicingPeriodEndDate

        public Invoice setInvoicingPeriodEndDate​(LocalDate value)
        Parameters:
        value - BT-74:Invoicing period end date

        The date when the Invoice period ends.

        The date on which the delivery of goods or services was completed.

        This date must be greater than or equal to the period start date (BT-73), if it exists

        BR-29: If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).BR-CO-19: If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString

        Returns:
        Invoice
      • setPaymentDueDate

        public Invoice setPaymentDueDate​(LocalDate value)
        Parameters:
        value - BT-9:Payment due date

        The date when the payment is due.

        The payment due date reflects the due date of the net payment. For partial payments it states the first net due date. The corresponding description of more complex payment terms can be stated in BT-20 Payment terms.

        BR-CO-25: In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString

        Returns:
        Invoice
      • setMandateReferenceIdentifier

        public Invoice setMandateReferenceIdentifier​(Identifier value)
        Parameters:
        value - BT-89:Mandate reference identifier

        Unique identifier assigned by the Payee for referencing the direct debit mandate.

        Used in order to pre-notify the Buyer of a SEPA direct debit.

        This is the RUM (Unique Mandate Reference) for SEPA direct debits

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID

        Returns:
        Invoice
      • setSumOfInvoiceLineNetAmount

        public Invoice setSumOfInvoiceLineNetAmount​(Amount value)
        Parameters:
        value - BT-106:Sum of Invoice line net amount

        Sum of all Invoice line net amounts in the Invoice.

        BR-12: An Invoice shall have the Sum of Invoice line net amount (BT-106).BR-CO-10: Sum of Invoice line net amount (BT-106) = ? Invoice line net amount (BT-131).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount

        Returns:
        Invoice
      • setSumOfChargesOnDocumentLevel

        public Invoice setSumOfChargesOnDocumentLevel​(Amount value)
        Parameters:
        value - BT-108:Sum of charges on document level

        Sum of all charges on document level in the Invoice.

        Charges on line level are included in the Invoice line net amount which is summed up into the Sum of Invoice line net amount.

        BR-CO-12: Sum of charges on document level (BT-108) = ? Document level charge amount (BT-99).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount

        Returns:
        Invoice
      • setSumOfAllowancesOnDocumentLevel

        public Invoice setSumOfAllowancesOnDocumentLevel​(Amount value)
        Parameters:
        value - BT-107:Sum of allowances on document level

        Sum of all allowances on document level in the Invoice.

        Allowances on line level are included in the Invoice line net amount which is summed up into the Sum of Invoice line net amount.

        BR-CO-11: Sum of allowances on document level (BT-107) = ? Document level allowance amount (BT-92).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:AllowanceTotalAmount

        Returns:
        Invoice
      • setInvoiceTotalAmountWithoutVAT

        public Invoice setInvoiceTotalAmountWithoutVAT​(Amount value)
        Parameters:
        value - BT-109:Invoice total amount without VAT

        The total amount of the Invoice without VAT.

        The Invoice total amount without VAT is the Sum of Invoice line net amount minus Sum of allowances on document level plus Sum of charges on document level.

        BR-13: An Invoice shall have the Invoice total amount without VAT (BT-109).BR-CO-13: Invoice total amount without VAT (BT-109) = ? Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxBasisTotalAmount

        Returns:
        Invoice
      • setInvoiceTotalAmountWithVAT

        public Invoice setInvoiceTotalAmountWithVAT​(Amount value)
        Parameters:
        value - BT-112:Invoice total amount with VAT

        The total amount of the Invoice with VAT.

        The Invoice total amount with VAT is the Invoice total amount without VAT plus the Invoice total VAT amount.

        BR-14: An Invoice shall have the Invoice total amount with VAT (BT-112).BR-CO-15: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount

        Returns:
        Invoice
      • setPaidAmount

        public Invoice setPaidAmount​(Amount value)
        Parameters:
        value - BT-113:Paid amount

        The sum of amounts which have been paid in advance.

        This amount is subtracted from the invoice total amount with VAT to calculate the amount due for payment.

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TotalPrepaidAmount

        Returns:
        Invoice
      • setBuyerAccountingReference

        public Invoice setBuyerAccountingReference​(String value)
        Parameters:
        value - BT-19:Buyer accounting reference

        A textual value that specifies where to book the relevant data into the Buyer's financial accounts.

        CHORUS PRO: not used

        XPath:/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ReceivableSpecifiedTradeAccountingAccount/ram:ID

        Returns:
        Invoice
      • getBusinessProcessType

        public String getBusinessProcessType()
        BT-23:Business process type

        Identifies the business process context in which the transaction appears, to enable the Buyer to process the Invoice in an appropriate way.

        To be specified by the Buyer.

        CHORUSPRO: this data makes it possible to inform the "cadre de facturation" (billing framework, which could be invoice from agent, co-contractor, subcontractor, invoicing part of a public works contract, etc.). The codes to be used are defined in the CHORUSPRO specifications: A1 (invoice deposit), A2 (prepaid invoice deposit), ... By default (in the absence of this field), the case A1 is applied.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:BusinessProcessSpecifiedDocumentContextParameter/ram:ID
      • getSpecificationIdentifier

        public Identifier getSpecificationIdentifier()
                                              throws ComputationException
        BT-24:Specification identifier

        An identification of the specification containing the total set of rules regarding semantic content, cardinalities and business rules to which the data contained in the instance document conforms.

        This identifies compliance or conformance to this document. Compliant invoices specify: urn:cen.eu:en16931:2017. Invoices, compliant to a user specification may identify that user specification here.No identification scheme is to be used.

        For profile Minimum : urn:factur-x.eu:1p0:minimumFor profile BASIC WL : urn:factur-x.eu:1p0:basicwlFor profile BASIC : urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basicFor Profile EN 16931 (Comfort) : urn:cen.eu:en16931:2017For Profile EXTENDED : urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended

        BR-1: An Invoice shall have a Specification identifier (BT-24).

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID is returned
        Throws:
        ComputationException
      • getInvoiceNumber

        public Identifier getInvoiceNumber()
        BT-1:Invoice number

        A unique identification of the Invoice.

        The sequential number required in Article 226(2) of the directive 2006/112/EC [2], to uniquely identify the Invoice within the business context, time-frame, operating systems and records of the Seller. It may be based on one or more series of numbers, which may include alphanumeric characters. No identification scheme is to be used.

        CHORUSPRO: the invoice number is limited to 20 characters

        BR-2: An Invoice shall have an Invoice number (BT-1).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:ID
      • getInvoiceTypeCode

        public Codes.InvoiceTypeCode getInvoiceTypeCode()
        BT-3:Invoice type code

        A code specifying the functional type of the Invoice.

        Commercial invoices and credit notes are defined according the entries in UNTDID 1001 [6].Other entries of UNTDID 1001 [6] with specific invoices or credit notes may be used if applicable.

        The types of documents used are:380: Commercial Invoice381: Credit note384: Corrected invoice389: Self-billied invoice (created by the buyer on behalf of the supplier)261: Self billed credit note (not accepted by CHORUSPRO)386: Prepayment invoice751: Invoice information for accounting purposes (not accepted by CHORUSPRO)

        BR-4: An Invoice shall have an Invoice type code (BT-3).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:TypeCode
      • getDateFormat

        public Codes.DateFormat getDateFormat()
                                       throws ComputationException
        BT-2-0:date format

        Value= 102

        Only value "102"

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString/@format is returned
        Throws:
        ComputationException
      • getInvoiceIssueDate

        public LocalDate getInvoiceIssueDate()
        BT-2:Invoice issue date

        The date when the Invoice was issued.

        CHORUSPRO: the issue date must be before or equal to the deposit date.

        BR-3: An Invoice shall have an Invoice issue date (BT-2).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString
      • getBuyerReference

        public String getBuyerReference()
        BT-10:Buyer reference

        An identifier assigned by the Buyer used for internal routing purposes.

        The identifier is defined by the Buyer (e.g. contact ID, department, office id, project code), but provided by the Seller in the Invoice.

        CHORUS PRO: for the public sector, it is the "Service Exécutant". It is mandatory for some buyers. It must belong to the Chorus Pro repository. It is limited to 100 characters.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerReference
      • getSellerName

        public String getSellerName()
        BT-27:Seller name

        The full formal name by which the Seller is registered in the national registry of legal entities or as a Taxable person or otherwise trades as a person or persons.

        BR-6: An Invoice shall contain the Seller name (BT-27).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name
      • getSellerLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getSellerLegalOrganizationSchemeIdentiferAttribute()
        BT-30-1:Seller legal registration identifier identification scheme identifier

        The identification scheme identifier of the Seller legal registration identifier.

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID
      • getSellerLegalOrganizationIdentifer

        public Identifier getSellerLegalOrganizationIdentifer()
        BT-30:Seller legal registration identifier

        An identifier issued by an official registrar that identifies the Seller as a legal entity or person.

        If no identification scheme is specified, it should be known by Buyer and Seller.

        BR-CO-26: In order for the buyer to automatically identify a supplier, the Seller identifier (BT-29), the Seller legal registration identifier (BT-30) and/or the Seller VAT identifier (BT-31) shall be present.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID
      • getSellerLegalOrganizationTradingName

        public String getSellerLegalOrganizationTradingName()
        BT-28:Seller trading name

        A name by which the Seller is known, other than Seller name (also known as Business name).

        This may be used if different from the Seller name.

        CHORUS PRO: this field is limied to 99 characters.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName
      • getSellerPostCode

        public String getSellerPostCode()
        BT-38:Seller post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode
      • getSellerAddressLine1

        public String getSellerAddressLine1()
        BT-35:Seller address line 1

        The main address line in an address.

        Usually the street name and number or post office box.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineOne
      • getSellerAddressLine2

        public String getSellerAddressLine2()
        BT-36:Seller address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineTwo
      • getSellerAddressLine3

        public String getSellerAddressLine3()
        BT-162:Seller address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineThree
      • getSellerCity

        public String getSellerCity()
        BT-37:Seller city

        The common name of the city, town or village, where the Seller address is located.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CityName
      • getSellerCountryCode

        public Codes.CountryCodeList getSellerCountryCode()
        BT-40:Seller country code

        A code that identifies the country.

        If no tax representative is specified, this is the country where VAT is liable. The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-9: The Seller postal address (BG-5) shall contain a Seller country code (BT-40).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountryID
      • getSellerCountrySubdivision

        public String getSellerCountrySubdivision()
        BT-39:Seller country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName
      • getSellerElectronicAddressScheme

        public Codes.ElectronicAddressScheme getSellerElectronicAddressScheme()
        BT-34-1:Seller electronic address identification scheme identifier

        The identification scheme identifier of the Seller electronic address

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID/@schemeID
      • getSellerElectronicAddress

        public Identifier getSellerElectronicAddress()
        BT-34:Seller electronic address

        Identifies the Seller's electronic address to which the application level response to the invoice may be delivered.The identification scheme identifier of the Seller electronic address.

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        BR-62: The Seller electronic address (BT-34) shall have a Scheme identifier.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID
      • getBuyerName

        public String getBuyerName()
        BT-44:Buyer name

        The full name of the Buyer.

        CHORUS PRO: this field is limied to 99 characters.

        BR-7: An Invoice shall contain the Buyer name (BT-44).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name
      • getBuyerLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getBuyerLegalOrganizationSchemeIdentiferAttribute()
        BT-47-1:scheme identifier attribute

        Scheme identifier for Buyer legal identifier

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID
      • getBuyerLegalOrganizationIdentifer

        public Identifier getBuyerLegalOrganizationIdentifer()
        BT-47:Buyer legal registration identifier

        An identifier issued by an official registrar that identifies the Buyer as a legal entity or person.The identification scheme identifier of the Buyer legal registration identifier.

        If no identification scheme is specified, it should be known by Buyer and Seller, e.g. the identifier that is exclusively used in the applicable legal environment.If used, the identification scheme shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        CHORUSPRO: the identifier of the buyer (public entity) is mandatory and is always a SIRET number

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID
      • getBuyerPostCode

        public String getBuyerPostCode()
        BT-53:Buyer post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode
      • getBuyerAddressLine1

        public String getBuyerAddressLine1()
        BT-50:Buyer address line 1

        The main address line in an address.

        Usually the street name and number or post office box.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineOne
      • getBuyerAddressLine2

        public String getBuyerAddressLine2()
        BT-51:Buyer address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineTwo
      • getBuyerAddressLine3

        public String getBuyerAddressLine3()
        BT-163:Buyer address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineThree
      • getBuyerCity

        public String getBuyerCity()
        BT-52:Buyer city

        The common name of the city, town or village, where the Buyer's address is located.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName
      • getBuyerCountryCode

        public Codes.CountryCodeList getBuyerCountryCode()
        BT-55:Buyer country code

        A code that identifies the country.

        The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-11: The Buyer postal address shall contain a Buyer country code (BT-55).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID
      • getBuyerCountrySubdivision

        public String getBuyerCountrySubdivision()
        BT-54:Buyer country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName
      • getBuyerElectronicAddressScheme

        public Codes.ElectronicAddressScheme getBuyerElectronicAddressScheme()
        BT-49-1:scheme identifier attribute

        Scheme identifier for Buyer electronic address

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID/@schemeID
      • getBuyerElectronicAddress

        public Identifier getBuyerElectronicAddress()
        BT-49:Buyer electronic address

        Identifies the Buyer's electronic address to which the invoice is delivered.

        The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.

        BR-63: The Buyer electronic address (BT-49) shall have a Scheme identifier.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID
      • getSellerTaxRepresentativeName

        public String getSellerTaxRepresentativeName()
        BT-62:Seller tax representative name

        The full name of the Seller's tax representative party.

        BR-18: The Seller tax representative name (BT-62) shall be provided in the Invoice, if the Seller (BG-4) has a Seller tax representative party (BG-11).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:Name
      • getSellerTaxRepresentativePostCode

        public String getSellerTaxRepresentativePostCode()
        BT-67:Tax representative post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:PostcodeCode
      • getSellerTaxRepresentativeAddressLine1

        public String getSellerTaxRepresentativeAddressLine1()
        BT-64:Tax representative address line 1

        The main address line in an address.

        Usually the street name and number or the post office box.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineOne
      • getSellerTaxRepresentativeAddressLine2

        public String getSellerTaxRepresentativeAddressLine2()
        BT-65:Tax representative address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineTwo
      • getSellerTaxRepresentativeAddressLine3

        public String getSellerTaxRepresentativeAddressLine3()
        BT-164:Tax representative address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineThree
      • getSellerTaxRepresentativeCity

        public String getSellerTaxRepresentativeCity()
        BT-66:Tax representative city

        The common name of the city, town or village, where the tax representative address is located.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CityName
      • getSellerTaxRepresentativeCountryCode

        public Codes.CountryCodeList getSellerTaxRepresentativeCountryCode()
        BT-69:Tax representative country code

        A code that identifies the country.

        Country where VAT is liable. The lists of valid countries are registered with theEN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-20: The Seller tax representative postal address (BG-12) shall contain a Tax representative country code (BT-69), if the Seller (BG-4) has a Seller tax representative party (BG-11).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountryID
      • getSellerTaxRepresentativeCountrySubdivision

        public String getSellerTaxRepresentativeCountrySubdivision()
        BT-68:Tax representative country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName
      • getDeliverToName

        public String getDeliverToName()
        BT-70:Deliver to party name

        The name of the party to which the goods and services are delivered.

        Shall be used if the Deliver to party is different from the Buyer.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:Name
      • getDeliverToPostCode

        public String getDeliverToPostCode()
        BT-78:Deliver to post code

        The identifier for an addressable group of properties according to the relevant postal service.

        Such as a ZIP code or a post code.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:PostcodeCode
      • getDeliverToAddressLine1

        public String getDeliverToAddressLine1()
        BT-75:Deliver to address line 1

        The main address line in an address.

        Usually the street name and number.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineOne
      • getDeliverToAddressLine2

        public String getDeliverToAddressLine2()
        BT-76:Deliver to address line 2

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineTwo
      • getDeliverToAddressLine3

        public String getDeliverToAddressLine3()
        BT-165:Deliver to address line 3

        An additional address line in an address that can be used to give further details supplementing the main line.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineThree
      • getDeliverToCity

        public String getDeliverToCity()
        BT-77:Deliver to city

        The common name of the city, town or village, where the deliver to address is located.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CityName
      • getDeliverToCountryCode

        public Codes.CountryCodeList getDeliverToCountryCode()
        BT-80:Deliver to country code

        A code that identifies the country.

        The lists of valid countries are registered with the EN ISO 3166-1 Maintenance agency, “Codes for the representation of names of countries and their subdivisions”.

        BR-57: Each Deliver to address (BG-15) shall contain a Deliver to country code (BT-80).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID
      • getDeliverToCountrySubdivision

        public String getDeliverToCountrySubdivision()
        BT-79:Deliver to country subdivision

        The subdivision of a country.

        Such as a region, a county, a state, a province, etc.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName
      • getActualDeliveryDateFormat

        public Codes.DateFormat getActualDeliveryDateFormat()
                                                     throws ComputationException
        BT-72-0:Date format

        Value = 102

        Only value "102"

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString/@format is returned
        Throws:
        ComputationException
      • getActualDeliveryDate

        public LocalDate getActualDeliveryDate()
        BT-72:Actual delivery date

        the date on which the supply of goods or services was made or completed.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString
      • getBankAssignedCreditorIdentifier

        public Identifier getBankAssignedCreditorIdentifier()
        BT-90:Bank assigned creditor identifier

        Unique banking reference identifier of the Payee or Seller assigned by the Payee or Seller bank.

        Used in order to pre-notify the Buyer of a SEPA direct debit.

        This is the ICS for SEPA direct debits

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID
      • getRemittanceInformation

        public String getRemittanceInformation()
        BT-83:Remittance information

        A textual value used to establish a link between the payment and the Invoice, issued by the Seller.

        Used for creditor's critical reconciliation information. This information element helps the Seller to assign an incoming payment to the relevant payment process. When specifying the textual value, which is commonly the invoice number of the invoice being paid, but may be another seller reference, the buyer should indicate this reference in his payment order when executing the payment. In a payment transaction this reference is transferred back to the Seller as Remittance Information.In order to allow for automatic processing of cross-border SEPA payments, only Latin characters should be used in this field, with a maximum of 140 characters. Reference section 1.4 of the SEPA credit transfer and SEPA direct debit scheme implementation guides [13] and [14] for details of the allowed characters. Other rules may apply for SEPA payments within national borders.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PaymentReference
      • getInvoiceCurrencyCode

        public Codes.Currency getInvoiceCurrencyCode()
        BT-5:Invoice currency code

        The currency in which all Invoice amounts are given, except for the Total VAT amount in accounting currency.

        Only one currency shall be used in the Invoice, except for the Invoice total VAT amount in accounting currency (BT-111) in accordance with article 230 of Directive 2006/112/EC on VAT [2].The lists of valid currencies are registered with the ISO 4217 Maintenance Agency “Codes for the representation of currencies and funds”.

        CHORUS PRO: Invoices and credit notes or Chorus Pro are mono-currencies only.

        BR-5: An Invoice shall have an Invoice currency code (BT-5).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode
      • getPayeeName

        public String getPayeeName()
        BT-59:Payee name

        The name of the Payee.

        Shall be used when the Payee is different from the Seller. The Payee name may however be the same as the Seller name.

        If the PAYEE party bock is present, the name of the Payee is mandatory

        BR-17: The Payee name (BT-59) shall be provided in the Invoice, if the Payee (BG-10) is different from the Seller (BG-4).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:Name
      • getPayeeLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getPayeeLegalOrganizationSchemeIdentiferAttribute()
        BT-61-1:Scheme identifier

        The identification scheme identifier of the Payee legal registration identifier.

        If used, the identification scheme identifier shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        For a SIREN or a SIRET, the value of this field is "0002"

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID/@schemeID
      • getPayeeLegalOrganizationIdentifer

        public Identifier getPayeeLegalOrganizationIdentifer()
        BT-61:Payee legal registration identifierScheme identifier

        An identifier issued by an official registrar that identifies the Payee as a legal entity or person.The identification scheme identifier of the Payee legal registration identifier.

        If no scheme is specified, it should be known by Buyer and Seller, e.g. the identifier that is exclusively used in the applicable legal environment.If used, the identification scheme shall be chosen from the entries of the list published by the ISO/IEC 6523 maintenance agency.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID
      • getPaymentMeansTypeCode

        public Codes.PaymentMeansCode getPaymentMeansTypeCode()
        BT-81:Payment means type code

        The means, expressed as code, for how a payment is expected to be or has been settled.

        Entries from the UNTDID 4461 code list [6] shall be used. Distinction should be made between SEPA and non-SEPA payments, and between credit payments, direct debits, card payments and other instruments.

        In particular, the following codes can be used:10: Species20: Check30: Transfer (includes SEPA transfer for CHORUSPRO)42: Payment on bank account48: Payment by credit card49: Direct debit (includes SEPA Direct Debit for CHORUSPRO)57 : Standing Agreement58: SEPA transfer (not used for CHORUSPRO: code 30)59: SEPA Direct Debit (not used for CHORUSPRO: code 49)97: ReportZZZ: agreed amoung trading partners on interim basis

        BR-49: A Payment instruction (BG-16) shall specify the Payment means type code (BT-81).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode
      • getDebitedAccountIdentifier

        public Identifier getDebitedAccountIdentifier()
        BT-91:Debited account identifier

        The account to be debited by the direct debit.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID
      • getPaymentAccountIdentifier

        public Identifier getPaymentAccountIdentifier()
        BT-84:Payment account identifier

        A unique identifier of the financial payment account, at a payment service provider, to which payment should be made.

        Such as IBAN (in case of a SEPA payment) or a national account number.

        Use IBANID if applicable, ProprietaryID elseBR-50: A Payment account identifier (BT-84) shall be present if Credit transfer (BG-16) information is provided in the Invoice.BR-61: If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID
      • getProprietaryID

        public Identifier getProprietaryID()
        BT-84-0:

        Use IBANID when appropriate, otherwise use ProprietaryID

        Use IBANID if applicable, ProprietaryID else

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:ProprietaryID
      • getInvoicingPeriodStartDateFormat

        public Codes.DateFormat getInvoicingPeriodStartDateFormat()
                                                           throws ComputationException
        BT-73-0:Date format

        Value = 102

        Only value "102"

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString/@format is returned
        Throws:
        ComputationException
      • getInvoicingPeriodStartDate

        public LocalDate getInvoicingPeriodStartDate()
        BT-73:Invoicing period start date

        The date when the Invoice period starts.

        The initial date of delivery of goods or services.

        This date must be less than or equal to the period end date (BT-74), if it exists

        BR-CO-19: If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:StartDateTime/udt:DateTimeString
      • getInvoicingPeriodEndDateFormat

        public Codes.DateFormat getInvoicingPeriodEndDateFormat()
                                                         throws ComputationException
        BT-74-0:Date format

        Value = 102

        Only value "102"

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString/@format is returned
        Throws:
        ComputationException
      • getInvoicingPeriodEndDate

        public LocalDate getInvoicingPeriodEndDate()
        BT-74:Invoicing period end date

        The date when the Invoice period ends.

        The date on which the delivery of goods or services was completed.

        This date must be greater than or equal to the period start date (BT-73), if it exists

        BR-29: If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).BR-CO-19: If Invoicing period (BG-14) is used, the Invoicing period start date (BT-73) or the Invoicing period end date (BT-74) shall be filled, or both.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString
      • getFormat

        public Codes.DateFormat getFormat()
                                   throws ComputationException
        BT-9-0:Format

        Value = 102

        Only value "102"

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString/@format is returned
        Throws:
        ComputationException
      • getPaymentDueDate

        public LocalDate getPaymentDueDate()
        BT-9:Payment due date

        The date when the payment is due.

        The payment due date reflects the due date of the net payment. For partial payments it states the first net due date. The corresponding description of more complex payment terms can be stated in BT-20 Payment terms.

        BR-CO-25: In case the Amount due for payment (BT-115) is positive, either the Payment due date (BT-9) or the Payment terms (BT-20) shall be present.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString
      • getMandateReferenceIdentifier

        public Identifier getMandateReferenceIdentifier()
        BT-89:Mandate reference identifier

        Unique identifier assigned by the Payee for referencing the direct debit mandate.

        Used in order to pre-notify the Buyer of a SEPA direct debit.

        This is the RUM (Unique Mandate Reference) for SEPA direct debits

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID
      • getSumOfInvoiceLineNetAmount

        public Amount getSumOfInvoiceLineNetAmount()
        BT-106:Sum of Invoice line net amount

        Sum of all Invoice line net amounts in the Invoice.

        BR-12: An Invoice shall have the Sum of Invoice line net amount (BT-106).BR-CO-10: Sum of Invoice line net amount (BT-106) = ? Invoice line net amount (BT-131).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount
      • getSumOfChargesOnDocumentLevel

        public Amount getSumOfChargesOnDocumentLevel()
        BT-108:Sum of charges on document level

        Sum of all charges on document level in the Invoice.

        Charges on line level are included in the Invoice line net amount which is summed up into the Sum of Invoice line net amount.

        BR-CO-12: Sum of charges on document level (BT-108) = ? Document level charge amount (BT-99).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:ChargeTotalAmount
      • getSumOfAllowancesOnDocumentLevel

        public Amount getSumOfAllowancesOnDocumentLevel()
        BT-107:Sum of allowances on document level

        Sum of all allowances on document level in the Invoice.

        Allowances on line level are included in the Invoice line net amount which is summed up into the Sum of Invoice line net amount.

        BR-CO-11: Sum of allowances on document level (BT-107) = ? Document level allowance amount (BT-92).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:AllowanceTotalAmount
      • getInvoiceTotalAmountWithoutVAT

        public Amount getInvoiceTotalAmountWithoutVAT()
        BT-109:Invoice total amount without VAT

        The total amount of the Invoice without VAT.

        The Invoice total amount without VAT is the Sum of Invoice line net amount minus Sum of allowances on document level plus Sum of charges on document level.

        BR-13: An Invoice shall have the Invoice total amount without VAT (BT-109).BR-CO-13: Invoice total amount without VAT (BT-109) = ? Invoice line net amount (BT-131) - Sum of allowances on document level (BT-107) + Sum of charges on document level (BT-108).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxBasisTotalAmount
      • getInvoiceTotalAmountWithVAT

        public Amount getInvoiceTotalAmountWithVAT()
        BT-112:Invoice total amount with VAT

        The total amount of the Invoice with VAT.

        The Invoice total amount with VAT is the Invoice total amount without VAT plus the Invoice total VAT amount.

        BR-14: An Invoice shall have the Invoice total amount with VAT (BT-112).BR-CO-15: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount
      • getPaidAmount

        public Amount getPaidAmount()
        BT-113:Paid amount

        The sum of amounts which have been paid in advance.

        This amount is subtracted from the invoice total amount with VAT to calculate the amount due for payment.

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TotalPrepaidAmount
      • getAmountDueForPayment

        public Amount getAmountDueForPayment()
                                      throws ComputationException
        BT-115:Amount due for payment

        The outstanding amount that is requested to be paid.

        This amount is the Invoice total amount with VAT minus the paid amount that has been paid in advance. The amount is zero in case of a fully paid Invoice. The amount may be negative; in that case the Seller owes the amount to the Buyer.

        BR-15: An Invoice shall have the Amount due for payment (BT- 115).BR-CO-16: Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) -Paid amount (BT-113) + Rounding amount (BT-114).

        Returns:
        a computed value unless an explicit value has been set and setRecompute(boolean) has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:DuePayableAmount is returned
        Throws:
        ComputationException
      • getBuyerAccountingReference

        public String getBuyerAccountingReference()
        BT-19:Buyer accounting reference

        A textual value that specifies where to book the relevant data into the Buyer's financial accounts.

        CHORUS PRO: not used

        Returns:
        the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ReceivableSpecifiedTradeAccountingAccount/ram:ID
      • toXML

        public void toXML​(PrintStream out)
                   throws IOException,
                          FacturXException
        Serializes to a Factur-X XML document that matches the profile specific XML Schema from the specification (in this version the file _Factur-X 1.0.06 2022 03 01 - FINAL EN/4. FACTUR-X_1.0.06_XSD_SCHEMATRON - 2022 03 01/1. Factur-X_1.0.06_BASIC-WL_XSD/FACTUR-X_BASIC-WL.xsd)
        Parameters:
        out - the print stream to write to
        Throws:
        IOException
        FacturXException
      • toXML

        public void toXML​(PrintWriter out)
                   throws IOException,
                          FacturXException
        Serializes to a Factur-X XML document that matches the profile specific XML Schema from the specification (in this version the file _Factur-X 1.0.06 2022 03 01 - FINAL EN/4. FACTUR-X_1.0.06_XSD_SCHEMATRON - 2022 03 01/1. Factur-X_1.0.06_BASIC-WL_XSD/FACTUR-X_BASIC-WL.xsd)
        Parameters:
        out - the print stream to write to
        Throws:
        IOException
        FacturXException
      • toJUnitJavaSourceCode

        public void toJUnitJavaSourceCode​(PrintStream out,
                                          String packageName,
                                          String className,
                                          String referenceFilesDirectory)
                                   throws FacturXException
        Creates JUnit Java source code that will construct an Invoice instance identical with this Invoice from API calls and compare the produced XML against a reference file.
        Parameters:
        out - the print stream to write to
        packageName - the package name to use in the package declaration
        className - the name to use as class name for the test class
        referenceFilesDirectory - the directory in which the test expects the reference output xml file that is named className+".xml"
        Throws:
        FacturXException
      • joinVeryLongString

        public static String joinVeryLongString​(String[] chunks)
        to be used for strings exceeding the compiler limit of 2^16 bytes for a string constant
      • fromXML

        public static Invoice fromXML​(String fileName,
                                      boolean recompute)
                               throws IOException
        Creates and Invoice instance from a Factur-X XML document.
        Parameters:
        fileName - the Factur-X XML file to read from
        recompute - specifies whether or not computed fields are computed or the values from the file are used instead
        Throws:
        IOException