Class Invoice


  • public class Invoice
    extends AbstractInvoice
    BG-0:Invoice

    Cross Industry Invoice

    XPath:/rsm:CrossIndustryInvoice

    • Constructor Detail

      • Invoice

        public Invoice​(IdentifierType invoiceNumber,
                       Codes.InvoiceTypeCode invoiceTypeCode,
                       LocalDate invoiceIssueDate,
                       Codes.Currency invoiceCurrencyCode)
        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).

    • 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.
        Overrides:
        setRecompute in class AbstractInvoice
        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
      • appendNewInvoiceLine

        public InvoiceLine appendNewInvoiceLine​(IdentifierType invoiceLineIdentifier,
                                                String itemName,
                                                UnitPriceAmount itemNetPrice,
                                                Codes.UnitOfMeasure invoicedQuantityUnitOfMeasureCode,
                                                Quantity invoicedQuantity,
                                                Codes.VATCategoryCode invoicedItemVATCategoryCode)
        Creates an InvoiceLine object and appends it to the list obtainable by a call to get getInvoiceLines()
        Parameters:
        invoiceLineIdentifier - BT-126:Invoice line identifier

        A unique identifier for the individual line within the Invoice.

        BR-21: Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).

        itemName - BT-153:Item name

        A name for an item.

        BR-25: Each Invoice line (BG-25) shall contain the Item name (BT- 153).

        itemNetPrice - BT-146:Item net price

        The price of an item, exclusive of VAT, after subtracting item price discount.

        The Item net price has to be equal with the Item gross price less the Item price discount.

        The Item net price MUST NOT be negative

        BR-26: Each Invoice line (BG-25) shall contain the Item net price (BT-146).BR-27: The Item net price (BT-146) shall NOT be negative.

        invoicedQuantityUnitOfMeasureCode - BT-130:Invoiced quantity unit of measure code

        The unit of measure that applies to the invoiced quantity.

        The unit of measure shall be chosen from the lists in UN/ECE Recommendation N°. 20 “Codes for Units of Measure Used in International Trade” [7] and UN/ECE Recommendation N° 21 “Codes for Passengers, Types of Cargo, Packages and Packaging Materials (with Complementary Codes for Package Names)” [19] applying the method described in UN/ECE Rec N° 20 Intro 2.a). Note that in most cases it is not needed for Buyers and Sellers to implement these lists fully in their software. Sellers need only to support the units needed for their goods and services; Buyers only need to verify that the units used in the Invoice are equal to the units used in other documents (such as Contract, Catalogue, Order and Despatch advice).

        In particular, the most common units of measurement are:LTR = Liter (1 dm3)MTQ = cubic meterKGM = KilogramMTR = MeterC62 = UnitTNE = Tonne

        BR-23: An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).

        invoicedQuantity - BT-129:Invoiced quantity

        The quantity of items (goods or services) that is charged in the Invoice line.

        CHORUS PRO: Invoiced quantity is fulfilled on 10 digits maximum.

        BR-22: Each Invoice line (BG-25) shall have an Invoiced quantity (BT-129).

        invoicedItemVATCategoryCode - BT-151:Invoiced item VAT category code

        The VAT category code for the invoiced item.

        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-CO-4: Each Invoice line (BG-25) shall be categorized with an Invoiced item VAT category code (BT-151).

        Returns:
        InvoiceLine
      • 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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​(IdentifierType 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
      • 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()
      • getBusinessProcessTypeForJAXB

        public String getBusinessProcessTypeForJAXB()
      • getSpecificationIdentifierForJAXB

        public String getSpecificationIdentifierForJAXB()
      • getInvoiceNumberForJAXB

        public String getInvoiceNumberForJAXB()
      • getInvoiceIssueDate

        public LocalDate getInvoiceIssueDate()
      • getInvoiceIssueDateForJAXB

        public String getInvoiceIssueDateForJAXB()
      • getBuyerReference

        public String getBuyerReference()
      • getBuyerReferenceForJAXB

        public String getBuyerReferenceForJAXB()
      • getSellerName

        public String getSellerName()
      • getSellerNameForJAXB

        public String getSellerNameForJAXB()
      • getSellerLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getSellerLegalOrganizationSchemeIdentiferAttribute()
      • getSellerLegalOrganizationSchemeIdentiferAttributeForJAXB

        public Codes.SchemeIdentifier getSellerLegalOrganizationSchemeIdentiferAttributeForJAXB()
      • getSellerLegalOrganizationIdentifer

        public IdentifierType getSellerLegalOrganizationIdentifer()
      • getSellerLegalOrganizationIdentiferForJAXB

        public String getSellerLegalOrganizationIdentiferForJAXB()
      • getSellerLegalOrganizationTradingName

        public String getSellerLegalOrganizationTradingName()
      • getSellerLegalOrganizationTradingNameForJAXB

        public String getSellerLegalOrganizationTradingNameForJAXB()
      • getSellerPostCode

        public String getSellerPostCode()
      • getSellerPostCodeForJAXB

        public String getSellerPostCodeForJAXB()
      • getSellerAddressLine1

        public String getSellerAddressLine1()
      • getSellerAddressLine1ForJAXB

        public String getSellerAddressLine1ForJAXB()
      • getSellerAddressLine2

        public String getSellerAddressLine2()
      • getSellerAddressLine2ForJAXB

        public String getSellerAddressLine2ForJAXB()
      • getSellerAddressLine3

        public String getSellerAddressLine3()
      • getSellerAddressLine3ForJAXB

        public String getSellerAddressLine3ForJAXB()
      • getSellerCity

        public String getSellerCity()
      • getSellerCityForJAXB

        public String getSellerCityForJAXB()
      • getSellerCountrySubdivision

        public String getSellerCountrySubdivision()
      • getSellerCountrySubdivisionForJAXB

        public String getSellerCountrySubdivisionForJAXB()
      • getSellerElectronicAddress

        public IdentifierType getSellerElectronicAddress()
      • getSellerElectronicAddressForJAXB

        public String getSellerElectronicAddressForJAXB()
      • getBuyerName

        public String getBuyerName()
      • getBuyerNameForJAXB

        public String getBuyerNameForJAXB()
      • getBuyerLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getBuyerLegalOrganizationSchemeIdentiferAttribute()
      • getBuyerLegalOrganizationSchemeIdentiferAttributeForJAXB

        public Codes.SchemeIdentifier getBuyerLegalOrganizationSchemeIdentiferAttributeForJAXB()
      • getBuyerLegalOrganizationIdentifer

        public IdentifierType getBuyerLegalOrganizationIdentifer()
      • getBuyerLegalOrganizationIdentiferForJAXB

        public String getBuyerLegalOrganizationIdentiferForJAXB()
      • getBuyerPostCode

        public String getBuyerPostCode()
      • getBuyerPostCodeForJAXB

        public String getBuyerPostCodeForJAXB()
      • getBuyerAddressLine1

        public String getBuyerAddressLine1()
      • getBuyerAddressLine1ForJAXB

        public String getBuyerAddressLine1ForJAXB()
      • getBuyerAddressLine2

        public String getBuyerAddressLine2()
      • getBuyerAddressLine2ForJAXB

        public String getBuyerAddressLine2ForJAXB()
      • getBuyerAddressLine3

        public String getBuyerAddressLine3()
      • getBuyerAddressLine3ForJAXB

        public String getBuyerAddressLine3ForJAXB()
      • getBuyerCity

        public String getBuyerCity()
      • getBuyerCityForJAXB

        public String getBuyerCityForJAXB()
      • getBuyerCountrySubdivision

        public String getBuyerCountrySubdivision()
      • getBuyerCountrySubdivisionForJAXB

        public String getBuyerCountrySubdivisionForJAXB()
      • getBuyerElectronicAddress

        public IdentifierType getBuyerElectronicAddress()
      • getBuyerElectronicAddressForJAXB

        public String getBuyerElectronicAddressForJAXB()
      • getSellerTaxRepresentativeName

        public String getSellerTaxRepresentativeName()
      • getSellerTaxRepresentativeNameForJAXB

        public String getSellerTaxRepresentativeNameForJAXB()
      • getSellerTaxRepresentativePostCode

        public String getSellerTaxRepresentativePostCode()
      • getSellerTaxRepresentativePostCodeForJAXB

        public String getSellerTaxRepresentativePostCodeForJAXB()
      • getSellerTaxRepresentativeAddressLine1

        public String getSellerTaxRepresentativeAddressLine1()
      • getSellerTaxRepresentativeAddressLine1ForJAXB

        public String getSellerTaxRepresentativeAddressLine1ForJAXB()
      • getSellerTaxRepresentativeAddressLine2

        public String getSellerTaxRepresentativeAddressLine2()
      • getSellerTaxRepresentativeAddressLine2ForJAXB

        public String getSellerTaxRepresentativeAddressLine2ForJAXB()
      • getSellerTaxRepresentativeAddressLine3

        public String getSellerTaxRepresentativeAddressLine3()
      • getSellerTaxRepresentativeAddressLine3ForJAXB

        public String getSellerTaxRepresentativeAddressLine3ForJAXB()
      • getSellerTaxRepresentativeCity

        public String getSellerTaxRepresentativeCity()
      • getSellerTaxRepresentativeCityForJAXB

        public String getSellerTaxRepresentativeCityForJAXB()
      • getSellerTaxRepresentativeCountryCode

        public Codes.CountryCodeList getSellerTaxRepresentativeCountryCode()
      • getSellerTaxRepresentativeCountryCodeForJAXB

        public Codes.CountryCodeList getSellerTaxRepresentativeCountryCodeForJAXB()
      • getSellerTaxRepresentativeCountrySubdivision

        public String getSellerTaxRepresentativeCountrySubdivision()
      • getSellerTaxRepresentativeCountrySubdivisionForJAXB

        public String getSellerTaxRepresentativeCountrySubdivisionForJAXB()
      • getDeliverToName

        public String getDeliverToName()
      • getDeliverToNameForJAXB

        public String getDeliverToNameForJAXB()
      • getDeliverToPostCode

        public String getDeliverToPostCode()
      • getDeliverToPostCodeForJAXB

        public String getDeliverToPostCodeForJAXB()
      • getDeliverToAddressLine1

        public String getDeliverToAddressLine1()
      • getDeliverToAddressLine1ForJAXB

        public String getDeliverToAddressLine1ForJAXB()
      • getDeliverToAddressLine2

        public String getDeliverToAddressLine2()
      • getDeliverToAddressLine2ForJAXB

        public String getDeliverToAddressLine2ForJAXB()
      • getDeliverToAddressLine3

        public String getDeliverToAddressLine3()
      • getDeliverToAddressLine3ForJAXB

        public String getDeliverToAddressLine3ForJAXB()
      • getDeliverToCity

        public String getDeliverToCity()
      • getDeliverToCityForJAXB

        public String getDeliverToCityForJAXB()
      • getDeliverToCountrySubdivision

        public String getDeliverToCountrySubdivision()
      • getDeliverToCountrySubdivisionForJAXB

        public String getDeliverToCountrySubdivisionForJAXB()
      • getActualDeliveryDateFormatForJAXB

        public Codes.DateFormat getActualDeliveryDateFormatForJAXB()
      • getActualDeliveryDate

        public LocalDate getActualDeliveryDate()
      • getActualDeliveryDateForJAXB

        public String getActualDeliveryDateForJAXB()
      • getBankAssignedCreditorIdentifier

        public IdentifierType getBankAssignedCreditorIdentifier()
      • getBankAssignedCreditorIdentifierForJAXB

        public String getBankAssignedCreditorIdentifierForJAXB()
      • getRemittanceInformation

        public String getRemittanceInformation()
      • getRemittanceInformationForJAXB

        public String getRemittanceInformationForJAXB()
      • getInvoiceCurrencyCode

        public Codes.Currency getInvoiceCurrencyCode()
      • getInvoiceCurrencyCodeForJAXB

        public Codes.Currency getInvoiceCurrencyCodeForJAXB()
      • getPayeeName

        public String getPayeeName()
      • getPayeeNameForJAXB

        public String getPayeeNameForJAXB()
      • getPayeeLegalOrganizationSchemeIdentiferAttribute

        public Codes.SchemeIdentifier getPayeeLegalOrganizationSchemeIdentiferAttribute()
      • getPayeeLegalOrganizationSchemeIdentiferAttributeForJAXB

        public Codes.SchemeIdentifier getPayeeLegalOrganizationSchemeIdentiferAttributeForJAXB()
      • getPayeeLegalOrganizationIdentifer

        public IdentifierType getPayeeLegalOrganizationIdentifer()
      • getPayeeLegalOrganizationIdentiferForJAXB

        public String getPayeeLegalOrganizationIdentiferForJAXB()
      • getDebitedAccountIdentifier

        public IdentifierType getDebitedAccountIdentifier()
      • getDebitedAccountIdentifierForJAXB

        public String getDebitedAccountIdentifierForJAXB()
      • getPaymentAccountIdentifier

        public IdentifierType getPaymentAccountIdentifier()
      • getPaymentAccountIdentifierForJAXB

        public String getPaymentAccountIdentifierForJAXB()
      • getProprietaryIDForJAXB

        public String getProprietaryIDForJAXB()
      • getInvoicingPeriodStartDateFormatForJAXB

        public Codes.DateFormat getInvoicingPeriodStartDateFormatForJAXB()
      • getInvoicingPeriodStartDate

        public LocalDate getInvoicingPeriodStartDate()
      • getInvoicingPeriodStartDateForJAXB

        public String getInvoicingPeriodStartDateForJAXB()
      • getInvoicingPeriodEndDateFormatForJAXB

        public Codes.DateFormat getInvoicingPeriodEndDateFormatForJAXB()
      • getInvoicingPeriodEndDate

        public LocalDate getInvoicingPeriodEndDate()
      • getInvoicingPeriodEndDateForJAXB

        public String getInvoicingPeriodEndDateForJAXB()
      • getPaymentDueDate

        public LocalDate getPaymentDueDate()
      • getPaymentDueDateForJAXB

        public String getPaymentDueDateForJAXB()
      • getMandateReferenceIdentifier

        public IdentifierType getMandateReferenceIdentifier()
      • getMandateReferenceIdentifierForJAXB

        public String getMandateReferenceIdentifierForJAXB()
      • getSumOfInvoiceLineNetAmountForJAXB

        public String getSumOfInvoiceLineNetAmountForJAXB()
      • getSumOfChargesOnDocumentLevelForJAXB

        public String getSumOfChargesOnDocumentLevelForJAXB()
      • getSumOfAllowancesOnDocumentLevelForJAXB

        public String getSumOfAllowancesOnDocumentLevelForJAXB()
      • getInvoiceTotalAmountWithoutVATForJAXB

        public String getInvoiceTotalAmountWithoutVATForJAXB()
      • getInvoiceTotalAmountWithVATForJAXB

        public String getInvoiceTotalAmountWithVATForJAXB()
      • getPaidAmount

        public Amount getPaidAmount()
      • getPaidAmountForJAXB

        public String getPaidAmountForJAXB()
      • getAmountDueForPaymentForJAXB

        public String getAmountDueForPaymentForJAXB()
      • getBuyerAccountingReference

        public String getBuyerAccountingReference()
      • getBuyerAccountingReferenceForJAXB

        public String getBuyerAccountingReferenceForJAXB()
      • 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/2. Factur-X_1.0.06_BASIC_XSD/FACTUR-X_BASIC.xsd)
        Specified by:
        toXML in class AbstractInvoice
        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.
        Specified by:
        toJUnitJavaSourceCode in class AbstractInvoice
        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
      • fromPDF

        public static Invoice fromPDF​(String fileName,
                                      boolean recompute)
                               throws IOException
        Creates and Invoice instance from a Factur-X hybrid PDF document.
        Parameters:
        fileName - the Factur-X hybrid PDF file to read from
        recompute - specifies whether or not computed fields are computed or the values from the file are used instead
        Returns:
        an Invoice instance or null if the PDF does not contain a file attachment named "factur-x.xml".
        Throws:
        IOException