public class Invoice
extends java.lang.Object
Cross Industry Invoice
XPath:/rsm:CrossIndustryInvoice
Constructor and Description |
---|
Invoice(Identifier invoiceNumber,
Codes.InvoiceTypeCode invoiceTypeCode,
java.time.LocalDate invoiceIssueDate,
Codes.Currency invoiceCurrencyCode)
Creates an Invoice object
|
Modifier and Type | Method and Description |
---|---|
BuyerIdentifier |
appendNewBuyerIdentifier()
Creates a BuyerIdentifier object and appends it to the list obtainable by a call to get
getBuyerIdentifiers() |
BuyerIdentifierSchemeIdentifier |
appendNewBuyerIdentifierSchemeIdentifier()
Creates a BuyerIdentifierSchemeIdentifier object and appends it to the list obtainable by a call to get
getBuyerIdentifierSchemeIdentifiers() |
BuyerVATIdentifier |
appendNewBuyerVATIdentifier()
Creates a BuyerVATIdentifier object and appends it to the list obtainable by a call to get
getBuyerVATIdentifiers() |
ContractReference |
appendNewContractReference()
Creates a ContractReference object and appends it to the list obtainable by a call to get
getContractReferences() |
DeliverToIdentifier |
appendNewDeliverToIdentifier()
Creates a DeliverToIdentifier object and appends it to the list obtainable by a call to get
getDeliverToIdentifiers() |
DeliverToIdentifierSchemeIdentifier |
appendNewDeliverToIdentifierSchemeIdentifier()
Creates a DeliverToIdentifierSchemeIdentifier object and appends it to the list obtainable by a call to get
getDeliverToIdentifierSchemeIdentifiers() |
DespatchAdviceReference |
appendNewDespatchAdviceReference()
Creates a DespatchAdviceReference object and appends it to the list obtainable by a call to get
getDespatchAdviceReferences() |
DocumentLevelAllowances |
appendNewDocumentLevelAllowances()
Creates a DocumentLevelAllowances object and appends it to the list obtainable by a call to get
getDocumentLevelAllowances() |
InvoiceLine |
appendNewInvoiceLine(Identifier invoiceLineIdentifier,
java.lang.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() |
InvoiceNote |
appendNewInvoiceNote()
Creates an InvoiceNote object and appends it to the list obtainable by a call to get
getInvoiceNotes() |
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() . |
PayeeIdentifier |
appendNewPayeeIdentifier()
Creates a PayeeIdentifier object and appends it to the list obtainable by a call to get
getPayeeIdentifiers() |
PayeeIdentifierSchemeIdentifier |
appendNewPayeeIdentifierSchemeIdentifier()
Creates a PayeeIdentifierSchemeIdentifier object and appends it to the list obtainable by a call to get
getPayeeIdentifierSchemeIdentifiers() |
PrecedingInvoiceReference |
appendNewPrecedingInvoiceReference()
Creates a PrecedingInvoiceReference object and appends it to the list obtainable by a call to get
getPrecedingInvoiceReferences() |
PurchaseOrderReference |
appendNewPurchaseOrderReference()
Creates a PurchaseOrderReference object and appends it to the list obtainable by a call to get
getPurchaseOrderReferences() |
SellerIdentifier |
appendNewSellerIdentifier()
Creates a SellerIdentifier object and appends it to the list obtainable by a call to get
getSellerIdentifiers() |
SellerIdentifierSchemeIdentifier |
appendNewSellerIdentifierSchemeIdentifier()
Creates a SellerIdentifierSchemeIdentifier object and appends it to the list obtainable by a call to get
getSellerIdentifierSchemeIdentifiers() |
SellerTaxRepresentativeVATIdentifier |
appendNewSellerTaxRepresentativeVATIdentifier()
Creates a SellerTaxRepresentativeVATIdentifier object and appends it to the list obtainable by a call to get
getSellerTaxRepresentativeVATIdentifiers() |
SellerVATIdentifier |
appendNewSellerVATIdentifier()
Creates a SellerVATIdentifier object and appends it to the list obtainable by a call to get
getSellerVATIdentifiers() |
VATBreakdown |
appendNewVATBreakdown(Codes.VATCategoryCode vATCategoryCode)
Creates a VATBreakdown object and appends it to the list obtainable by a call to get
getVATBreakdowns() |
static Invoice |
fromXML(java.lang.String fileName,
boolean recompute)
Creates and Invoice instance from a Factur-X XML document.
|
java.time.LocalDate |
getActualDeliveryDate()
BT-72:Actual delivery date
|
Codes.DateFormat |
getActualDeliveryDateFormat()
BT-72-0:Date format
|
Amount |
getAmountDueForPayment()
BT-115:Amount due for payment
|
Identifier |
getBankAssignedCreditorIdentifier()
BT-90:Bank assigned creditor identifier
|
java.lang.String |
getBusinessProcessType()
BT-23:Business process type
|
java.lang.String |
getBuyerAccountingReference()
BT-19:Buyer accounting reference
|
java.lang.String |
getBuyerAddressLine1()
BT-50:Buyer address line 1
|
java.lang.String |
getBuyerAddressLine2()
BT-51:Buyer address line 2
|
java.lang.String |
getBuyerAddressLine3()
BT-163:Buyer address line 3
|
java.lang.String |
getBuyerCity()
BT-52:Buyer city
|
Codes.CountryCodeList |
getBuyerCountryCode()
BT-55:Buyer country code
|
java.lang.String |
getBuyerCountrySubdivision()
BT-54:Buyer country subdivision
|
Identifier |
getBuyerElectronicAddress()
BT-49:Buyer electronic address
|
Codes.ElectronicAddressScheme |
getBuyerElectronicAddressScheme()
BT-49-1:scheme identifier attribute
|
java.util.List<BuyerIdentifier> |
getBuyerIdentifiers()
Returns a list of BuyerIdentifier objects previously created by calls to
appendNewBuyerIdentifier() |
java.util.List<BuyerIdentifierSchemeIdentifier> |
getBuyerIdentifierSchemeIdentifiers()
Returns a list of BuyerIdentifierSchemeIdentifier objects previously created by calls to
appendNewBuyerIdentifierSchemeIdentifier() |
Identifier |
getBuyerLegalOrganizationIdentifer()
BT-47:Buyer legal registration identifier
|
Codes.SchemeIdentifier |
getBuyerLegalOrganizationSchemeIdentiferAttribute()
BT-47-1:scheme identifier attribute
|
java.lang.String |
getBuyerName()
BT-44:Buyer name
|
java.lang.String |
getBuyerPostCode()
BT-53:Buyer post code
|
java.lang.String |
getBuyerReference()
BT-10:Buyer reference
|
java.util.List<BuyerVATIdentifier> |
getBuyerVATIdentifiers()
Returns a list of BuyerVATIdentifier objects previously created by calls to
appendNewBuyerVATIdentifier() |
java.util.List<ContractReference> |
getContractReferences()
Returns a list of ContractReference objects previously created by calls to
appendNewContractReference() |
Codes.DateFormat |
getDateFormat()
BT-2-0:date format
|
Identifier |
getDebitedAccountIdentifier()
BT-91:Debited account identifier
|
java.lang.String |
getDeliverToAddressLine1()
BT-75:Deliver to address line 1
|
java.lang.String |
getDeliverToAddressLine2()
BT-76:Deliver to address line 2
|
java.lang.String |
getDeliverToAddressLine3()
BT-165:Deliver to address line 3
|
java.lang.String |
getDeliverToCity()
BT-77:Deliver to city
|
Codes.CountryCodeList |
getDeliverToCountryCode()
BT-80:Deliver to country code
|
java.lang.String |
getDeliverToCountrySubdivision()
BT-79:Deliver to country subdivision
|
java.util.List<DeliverToIdentifier> |
getDeliverToIdentifiers()
Returns a list of DeliverToIdentifier objects previously created by calls to
appendNewDeliverToIdentifier() |
java.util.List<DeliverToIdentifierSchemeIdentifier> |
getDeliverToIdentifierSchemeIdentifiers()
Returns a list of DeliverToIdentifierSchemeIdentifier objects previously created by calls to
appendNewDeliverToIdentifierSchemeIdentifier() |
java.lang.String |
getDeliverToName()
BT-70:Deliver to party name
|
java.lang.String |
getDeliverToPostCode()
BT-78:Deliver to post code
|
java.util.List<DespatchAdviceReference> |
getDespatchAdviceReferences()
Returns a list of DespatchAdviceReference objects previously created by calls to
appendNewDespatchAdviceReference() |
java.util.List<DocumentLevelAllowances> |
getDocumentLevelAllowances()
Returns a list of DocumentLevelAllowances objects previously created by calls to
appendNewDocumentLevelAllowances() |
Codes.DateFormat |
getFormat()
BT-9-0:Format
|
Codes.Currency |
getInvoiceCurrencyCode()
BT-5:Invoice currency code
|
java.time.LocalDate |
getInvoiceIssueDate()
BT-2:Invoice issue date
|
java.util.List<InvoiceLine> |
getInvoiceLines()
Returns a list of InvoiceLine objects previously created by calls to
appendNewInvoiceLine(Identifier,String,UnitPriceAmount,Codes.UnitOfMeasure,Quantity,Codes.VATCategoryCode) |
java.util.List<InvoiceNote> |
getInvoiceNotes()
Returns a list of InvoiceNote objects previously created by calls to
appendNewInvoiceNote() |
Identifier |
getInvoiceNumber()
BT-1:Invoice number
|
Amount |
getInvoiceTotalAmountWithoutVAT()
BT-109:Invoice total amount without VAT
|
Amount |
getInvoiceTotalAmountWithVAT()
BT-112:Invoice total amount with VAT
|
java.util.List<InvoiceTotalVATAmount> |
getInvoiceTotalVATAmounts()
Returns a list of InvoiceTotalVATAmount objects previously created by calls to
appendNewInvoiceTotalVATAmount() |
Codes.InvoiceTypeCode |
getInvoiceTypeCode()
BT-3:Invoice type code
|
java.time.LocalDate |
getInvoicingPeriodEndDate()
BT-74:Invoicing period end date
|
Codes.DateFormat |
getInvoicingPeriodEndDateFormat()
BT-74-0:Date format
|
java.time.LocalDate |
getInvoicingPeriodStartDate()
BT-73:Invoicing period start date
|
Codes.DateFormat |
getInvoicingPeriodStartDateFormat()
BT-73-0:Date format
|
Identifier |
getMandateReferenceIdentifier()
BT-89:Mandate reference identifier
|
Amount |
getPaidAmount()
BT-113:Paid amount
|
java.util.List<PayeeIdentifier> |
getPayeeIdentifiers()
Returns a list of PayeeIdentifier objects previously created by calls to
appendNewPayeeIdentifier() |
java.util.List<PayeeIdentifierSchemeIdentifier> |
getPayeeIdentifierSchemeIdentifiers()
Returns a list of PayeeIdentifierSchemeIdentifier objects previously created by calls to
appendNewPayeeIdentifierSchemeIdentifier() |
Identifier |
getPayeeLegalOrganizationIdentifer()
BT-61:Payee legal registration identifierScheme identifier
|
Codes.SchemeIdentifier |
getPayeeLegalOrganizationSchemeIdentiferAttribute()
BT-61-1:Scheme identifier
|
java.lang.String |
getPayeeName()
BT-59:Payee name
|
Identifier |
getPaymentAccountIdentifier()
BT-84:Payment account identifier
|
java.time.LocalDate |
getPaymentDueDate()
BT-9:Payment due date
|
Codes.PaymentMeansCode |
getPaymentMeansTypeCode()
BT-81:Payment means type code
|
java.util.List<PrecedingInvoiceReference> |
getPrecedingInvoiceReferences()
Returns a list of PrecedingInvoiceReference objects previously created by calls to
appendNewPrecedingInvoiceReference() |
Identifier |
getProprietaryID()
BT-84-0:
|
java.util.List<PurchaseOrderReference> |
getPurchaseOrderReferences()
Returns a list of PurchaseOrderReference objects previously created by calls to
appendNewPurchaseOrderReference() |
java.lang.String |
getRemittanceInformation()
BT-83:Remittance information
|
java.lang.String |
getSellerAddressLine1()
BT-35:Seller address line 1
|
java.lang.String |
getSellerAddressLine2()
BT-36:Seller address line 2
|
java.lang.String |
getSellerAddressLine3()
BT-162:Seller address line 3
|
java.lang.String |
getSellerCity()
BT-37:Seller city
|
Codes.CountryCodeList |
getSellerCountryCode()
BT-40:Seller country code
|
java.lang.String |
getSellerCountrySubdivision()
BT-39:Seller country subdivision
|
Identifier |
getSellerElectronicAddress()
BT-34:Seller electronic address
|
Codes.ElectronicAddressScheme |
getSellerElectronicAddressScheme()
BT-34-1:Seller electronic address identification scheme identifier
|
java.util.List<SellerIdentifier> |
getSellerIdentifiers()
Returns a list of SellerIdentifier objects previously created by calls to
appendNewSellerIdentifier() |
java.util.List<SellerIdentifierSchemeIdentifier> |
getSellerIdentifierSchemeIdentifiers()
Returns a list of SellerIdentifierSchemeIdentifier objects previously created by calls to
appendNewSellerIdentifierSchemeIdentifier() |
Identifier |
getSellerLegalOrganizationIdentifer()
BT-30:Seller legal registration identifier
|
Codes.SchemeIdentifier |
getSellerLegalOrganizationSchemeIdentiferAttribute()
BT-30-1:Seller legal registration identifier identification scheme identifier
|
java.lang.String |
getSellerLegalOrganizationTradingName()
BT-28:Seller trading name
|
java.lang.String |
getSellerName()
BT-27:Seller name
|
java.lang.String |
getSellerPostCode()
BT-38:Seller post code
|
java.lang.String |
getSellerTaxRepresentativeAddressLine1()
BT-64:Tax representative address line 1
|
java.lang.String |
getSellerTaxRepresentativeAddressLine2()
BT-65:Tax representative address line 2
|
java.lang.String |
getSellerTaxRepresentativeAddressLine3()
BT-164:Tax representative address line 3
|
java.lang.String |
getSellerTaxRepresentativeCity()
BT-66:Tax representative city
|
Codes.CountryCodeList |
getSellerTaxRepresentativeCountryCode()
BT-69:Tax representative country code
|
java.lang.String |
getSellerTaxRepresentativeCountrySubdivision()
BT-68:Tax representative country subdivision
|
java.lang.String |
getSellerTaxRepresentativeName()
BT-62:Seller tax representative name
|
java.lang.String |
getSellerTaxRepresentativePostCode()
BT-67:Tax representative post code
|
java.util.List<SellerTaxRepresentativeVATIdentifier> |
getSellerTaxRepresentativeVATIdentifiers()
Returns a list of SellerTaxRepresentativeVATIdentifier objects previously created by calls to
appendNewSellerTaxRepresentativeVATIdentifier() |
java.util.List<SellerVATIdentifier> |
getSellerVATIdentifiers()
Returns a list of SellerVATIdentifier objects previously created by calls to
appendNewSellerVATIdentifier() |
Identifier |
getSpecificationIdentifier()
BT-24:Specification identifier
|
Amount |
getSumOfAllowancesOnDocumentLevel()
BT-107:Sum of allowances on document level
|
Amount |
getSumOfChargesOnDocumentLevel()
BT-108:Sum of charges on document level
|
Amount |
getSumOfInvoiceLineNetAmount()
BT-106:Sum of Invoice line net amount
|
java.util.List<VATBreakdown> |
getVATBreakdowns()
Returns a list of VATBreakdown objects previously created by calls to
appendNewVATBreakdown(Codes.VATCategoryCode) |
java.lang.String |
getXMLAsDataURL() |
void |
initForUnitTest()
Initializes in a way so that lists that have mandatory entries like VATBreakdowns are empty and need to be explicitly filled.
|
static java.lang.String |
joinVeryLongString(java.lang.String[] chunks)
to be used for strings exceeding the compiler limit of 2^16 bytes for a string constant
|
static void |
main(java.lang.String[] args) |
Invoice |
setActualDeliveryDate(java.time.LocalDate value) |
Invoice |
setBankAssignedCreditorIdentifier(Identifier value) |
Invoice |
setBusinessProcessType(java.lang.String value) |
Invoice |
setBuyerAccountingReference(java.lang.String value) |
Invoice |
setBuyerAddressLine1(java.lang.String value) |
Invoice |
setBuyerAddressLine2(java.lang.String value) |
Invoice |
setBuyerAddressLine3(java.lang.String value) |
Invoice |
setBuyerCity(java.lang.String value) |
Invoice |
setBuyerCountryCode(Codes.CountryCodeList value) |
Invoice |
setBuyerCountrySubdivision(java.lang.String value) |
Invoice |
setBuyerElectronicAddress(Identifier value) |
Invoice |
setBuyerElectronicAddressScheme(Codes.ElectronicAddressScheme value) |
Invoice |
setBuyerLegalOrganizationIdentifer(Identifier value) |
Invoice |
setBuyerLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value) |
Invoice |
setBuyerName(java.lang.String value) |
Invoice |
setBuyerPostCode(java.lang.String value) |
Invoice |
setBuyerReference(java.lang.String value) |
Invoice |
setDebitedAccountIdentifier(Identifier value) |
Invoice |
setDeliverToAddressLine1(java.lang.String value) |
Invoice |
setDeliverToAddressLine2(java.lang.String value) |
Invoice |
setDeliverToAddressLine3(java.lang.String value) |
Invoice |
setDeliverToCity(java.lang.String value) |
Invoice |
setDeliverToCountryCode(Codes.CountryCodeList value) |
Invoice |
setDeliverToCountrySubdivision(java.lang.String value) |
Invoice |
setDeliverToName(java.lang.String value) |
Invoice |
setDeliverToPostCode(java.lang.String value) |
Invoice |
setInvoiceCurrencyCode(Codes.Currency value) |
Invoice |
setInvoiceIssueDate(java.time.LocalDate value) |
Invoice |
setInvoiceNumber(Identifier value) |
Invoice |
setInvoiceTypeCode(Codes.InvoiceTypeCode value) |
Invoice |
setInvoicingPeriodEndDate(java.time.LocalDate value) |
Invoice |
setInvoicingPeriodStartDate(java.time.LocalDate value) |
Invoice |
setMandateReferenceIdentifier(Identifier value) |
Invoice |
setPaidAmount(Amount value) |
Invoice |
setPayeeLegalOrganizationIdentifer(Identifier value) |
Invoice |
setPayeeLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value) |
Invoice |
setPayeeName(java.lang.String value) |
Invoice |
setPaymentAccountIdentifier(Identifier value) |
Invoice |
setPaymentDueDate(java.time.LocalDate value) |
Invoice |
setPaymentMeansTypeCode(Codes.PaymentMeansCode value) |
Invoice |
setProprietaryID(Identifier value) |
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. |
Invoice |
setRemittanceInformation(java.lang.String value) |
Invoice |
setSellerAddressLine1(java.lang.String value) |
Invoice |
setSellerAddressLine2(java.lang.String value) |
Invoice |
setSellerAddressLine3(java.lang.String value) |
Invoice |
setSellerCity(java.lang.String value) |
Invoice |
setSellerCountryCode(Codes.CountryCodeList value) |
Invoice |
setSellerCountrySubdivision(java.lang.String value) |
Invoice |
setSellerElectronicAddress(Identifier value) |
Invoice |
setSellerElectronicAddressScheme(Codes.ElectronicAddressScheme value) |
Invoice |
setSellerLegalOrganizationIdentifer(Identifier value) |
Invoice |
setSellerLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value) |
Invoice |
setSellerLegalOrganizationTradingName(java.lang.String value) |
Invoice |
setSellerName(java.lang.String value) |
Invoice |
setSellerPostCode(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeAddressLine1(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeAddressLine2(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeAddressLine3(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeCity(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeCountryCode(Codes.CountryCodeList value) |
Invoice |
setSellerTaxRepresentativeCountrySubdivision(java.lang.String value) |
Invoice |
setSellerTaxRepresentativeName(java.lang.String value) |
Invoice |
setSellerTaxRepresentativePostCode(java.lang.String value) |
Invoice |
setSumOfAllowancesOnDocumentLevel(Amount value) |
Invoice |
setSumOfChargesOnDocumentLevel(Amount value) |
void |
toJUnitJavaSourceCode(java.io.PrintStream out,
java.lang.String packageName,
java.lang.String className,
java.lang.String referenceFilesDirectory)
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.
|
void |
toXML(java.io.PrintStream out)
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.
|
void |
toXML(java.io.PrintWriter out)
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.
|
public Invoice(Identifier invoiceNumber, Codes.InvoiceTypeCode invoiceTypeCode, java.time.LocalDate invoiceIssueDate, Codes.Currency invoiceCurrencyCode)
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).
public void setRecompute(boolean value)
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.value
- whether or not to ignore explicitly set values of computed fields and work with computed values insteadpublic void initForUnitTest()
public InvoiceNote appendNewInvoiceNote()
getInvoiceNotes()
public InvoiceLine appendNewInvoiceLine(Identifier invoiceLineIdentifier, java.lang.String itemName, UnitPriceAmount itemNetPrice, Codes.UnitOfMeasure invoicedQuantityUnitOfMeasureCode, Quantity invoicedQuantity, Codes.VATCategoryCode invoicedItemVATCategoryCode)
getInvoiceLines()
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).
public SellerIdentifier appendNewSellerIdentifier()
getSellerIdentifiers()
public SellerIdentifierSchemeIdentifier appendNewSellerIdentifierSchemeIdentifier()
getSellerIdentifierSchemeIdentifiers()
public SellerVATIdentifier appendNewSellerVATIdentifier()
getSellerVATIdentifiers()
public BuyerIdentifier appendNewBuyerIdentifier()
getBuyerIdentifiers()
public BuyerIdentifierSchemeIdentifier appendNewBuyerIdentifierSchemeIdentifier()
getBuyerIdentifierSchemeIdentifiers()
public BuyerVATIdentifier appendNewBuyerVATIdentifier()
getBuyerVATIdentifiers()
public SellerTaxRepresentativeVATIdentifier appendNewSellerTaxRepresentativeVATIdentifier()
getSellerTaxRepresentativeVATIdentifiers()
public PurchaseOrderReference appendNewPurchaseOrderReference()
getPurchaseOrderReferences()
public ContractReference appendNewContractReference()
getContractReferences()
public DeliverToIdentifier appendNewDeliverToIdentifier()
getDeliverToIdentifiers()
public DeliverToIdentifierSchemeIdentifier appendNewDeliverToIdentifierSchemeIdentifier()
getDeliverToIdentifierSchemeIdentifiers()
public DespatchAdviceReference appendNewDespatchAdviceReference()
getDespatchAdviceReferences()
public PayeeIdentifier appendNewPayeeIdentifier()
getPayeeIdentifiers()
public PayeeIdentifierSchemeIdentifier appendNewPayeeIdentifierSchemeIdentifier()
getPayeeIdentifierSchemeIdentifiers()
public VATBreakdown appendNewVATBreakdown(Codes.VATCategoryCode vATCategoryCode)
getVATBreakdowns()
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).
public DocumentLevelAllowances appendNewDocumentLevelAllowances()
getDocumentLevelAllowances()
public InvoiceTotalVATAmount appendNewInvoiceTotalVATAmount()
getInvoiceTotalVATAmounts()
Please note that by default every invoice already has one InvoiceTotalVATAmount object for the currency of the invoice getInvoiceCurrencyCode()
.public PrecedingInvoiceReference appendNewPrecedingInvoiceReference()
getPrecedingInvoiceReferences()
public java.util.List<InvoiceNote> getInvoiceNotes()
appendNewInvoiceNote()
public java.util.List<InvoiceLine> getInvoiceLines()
appendNewInvoiceLine(Identifier,String,UnitPriceAmount,Codes.UnitOfMeasure,Quantity,Codes.VATCategoryCode)
public java.util.List<SellerIdentifier> getSellerIdentifiers()
appendNewSellerIdentifier()
public java.util.List<SellerIdentifierSchemeIdentifier> getSellerIdentifierSchemeIdentifiers()
appendNewSellerIdentifierSchemeIdentifier()
public java.util.List<SellerVATIdentifier> getSellerVATIdentifiers()
appendNewSellerVATIdentifier()
public java.util.List<BuyerIdentifier> getBuyerIdentifiers()
appendNewBuyerIdentifier()
public java.util.List<BuyerIdentifierSchemeIdentifier> getBuyerIdentifierSchemeIdentifiers()
appendNewBuyerIdentifierSchemeIdentifier()
public java.util.List<BuyerVATIdentifier> getBuyerVATIdentifiers()
appendNewBuyerVATIdentifier()
public java.util.List<SellerTaxRepresentativeVATIdentifier> getSellerTaxRepresentativeVATIdentifiers()
appendNewSellerTaxRepresentativeVATIdentifier()
public java.util.List<PurchaseOrderReference> getPurchaseOrderReferences()
appendNewPurchaseOrderReference()
public java.util.List<ContractReference> getContractReferences()
appendNewContractReference()
public java.util.List<DeliverToIdentifier> getDeliverToIdentifiers()
appendNewDeliverToIdentifier()
public java.util.List<DeliverToIdentifierSchemeIdentifier> getDeliverToIdentifierSchemeIdentifiers()
appendNewDeliverToIdentifierSchemeIdentifier()
public java.util.List<DespatchAdviceReference> getDespatchAdviceReferences()
appendNewDespatchAdviceReference()
public java.util.List<PayeeIdentifier> getPayeeIdentifiers()
appendNewPayeeIdentifier()
public java.util.List<PayeeIdentifierSchemeIdentifier> getPayeeIdentifierSchemeIdentifiers()
appendNewPayeeIdentifierSchemeIdentifier()
public java.util.List<VATBreakdown> getVATBreakdowns()
appendNewVATBreakdown(Codes.VATCategoryCode)
public java.util.List<DocumentLevelAllowances> getDocumentLevelAllowances()
appendNewDocumentLevelAllowances()
public java.util.List<InvoiceTotalVATAmount> getInvoiceTotalVATAmounts()
appendNewInvoiceTotalVATAmount()
public java.util.List<PrecedingInvoiceReference> getPrecedingInvoiceReferences()
appendNewPrecedingInvoiceReference()
public Invoice setBusinessProcessType(java.lang.String value)
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
public Invoice setInvoiceNumber(Identifier value)
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
public Invoice setInvoiceTypeCode(Codes.InvoiceTypeCode value)
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
public Invoice setInvoiceIssueDate(java.time.LocalDate value)
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
public Invoice setBuyerReference(java.lang.String value)
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
public Invoice setSellerName(java.lang.String value)
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
public Invoice setSellerLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value)
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
public Invoice setSellerLegalOrganizationIdentifer(Identifier value)
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
public Invoice setSellerLegalOrganizationTradingName(java.lang.String value)
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
public Invoice setSellerPostCode(java.lang.String value)
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
public Invoice setSellerAddressLine1(java.lang.String value)
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
public Invoice setSellerAddressLine2(java.lang.String value)
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
public Invoice setSellerAddressLine3(java.lang.String value)
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
public Invoice setSellerCity(java.lang.String value)
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
public Invoice setSellerCountryCode(Codes.CountryCodeList value)
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
public Invoice setSellerCountrySubdivision(java.lang.String value)
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
public Invoice setSellerElectronicAddressScheme(Codes.ElectronicAddressScheme value)
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
public Invoice setSellerElectronicAddress(Identifier value)
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
public Invoice setBuyerName(java.lang.String value)
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
public Invoice setBuyerLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value)
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
public Invoice setBuyerLegalOrganizationIdentifer(Identifier value)
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
public Invoice setBuyerPostCode(java.lang.String value)
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
public Invoice setBuyerAddressLine1(java.lang.String value)
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
public Invoice setBuyerAddressLine2(java.lang.String value)
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
public Invoice setBuyerAddressLine3(java.lang.String value)
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
public Invoice setBuyerCity(java.lang.String value)
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
public Invoice setBuyerCountryCode(Codes.CountryCodeList value)
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
public Invoice setBuyerCountrySubdivision(java.lang.String value)
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
public Invoice setBuyerElectronicAddressScheme(Codes.ElectronicAddressScheme value)
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
public Invoice setBuyerElectronicAddress(Identifier value)
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
public Invoice setSellerTaxRepresentativeName(java.lang.String value)
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
public Invoice setSellerTaxRepresentativePostCode(java.lang.String value)
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
public Invoice setSellerTaxRepresentativeAddressLine1(java.lang.String value)
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
public Invoice setSellerTaxRepresentativeAddressLine2(java.lang.String value)
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
public Invoice setSellerTaxRepresentativeAddressLine3(java.lang.String value)
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
public Invoice setSellerTaxRepresentativeCity(java.lang.String value)
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
public Invoice setSellerTaxRepresentativeCountryCode(Codes.CountryCodeList value)
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
public Invoice setSellerTaxRepresentativeCountrySubdivision(java.lang.String value)
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
public Invoice setDeliverToName(java.lang.String value)
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
public Invoice setDeliverToPostCode(java.lang.String value)
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
public Invoice setDeliverToAddressLine1(java.lang.String value)
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
public Invoice setDeliverToAddressLine2(java.lang.String value)
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
public Invoice setDeliverToAddressLine3(java.lang.String value)
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
public Invoice setDeliverToCity(java.lang.String value)
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
public Invoice setDeliverToCountryCode(Codes.CountryCodeList value)
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
public Invoice setDeliverToCountrySubdivision(java.lang.String value)
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
public Invoice setActualDeliveryDate(java.time.LocalDate value)
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
public Invoice setBankAssignedCreditorIdentifier(Identifier value)
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
public Invoice setRemittanceInformation(java.lang.String value)
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
public Invoice setInvoiceCurrencyCode(Codes.Currency value)
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
public Invoice setPayeeName(java.lang.String value)
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
public Invoice setPayeeLegalOrganizationSchemeIdentiferAttribute(Codes.SchemeIdentifier value)
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
public Invoice setPayeeLegalOrganizationIdentifer(Identifier value)
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
public Invoice setPaymentMeansTypeCode(Codes.PaymentMeansCode value)
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
public Invoice setDebitedAccountIdentifier(Identifier value)
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
public Invoice setPaymentAccountIdentifier(Identifier value)
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
public Invoice setProprietaryID(Identifier value)
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
public Invoice setInvoicingPeriodStartDate(java.time.LocalDate value)
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
public Invoice setInvoicingPeriodEndDate(java.time.LocalDate value)
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
public Invoice setPaymentDueDate(java.time.LocalDate value)
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
public Invoice setMandateReferenceIdentifier(Identifier value)
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
public Invoice setSumOfChargesOnDocumentLevel(Amount value)
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
public Invoice setSumOfAllowancesOnDocumentLevel(Amount value)
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
public Invoice setPaidAmount(Amount value)
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
public Invoice setBuyerAccountingReference(java.lang.String value)
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
public java.lang.String getBusinessProcessType()
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.
public Identifier getSpecificationIdentifier() throws ComputationException
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).
setRecompute(boolean)
has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:ExchangedDocumentContext/ram:GuidelineSpecifiedDocumentContextParameter/ram:ID is returnedComputationException
public Identifier getInvoiceNumber()
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).
public Codes.InvoiceTypeCode getInvoiceTypeCode()
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).
public Codes.DateFormat getDateFormat() throws ComputationException
Value= 102
Only value "102"
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 returnedComputationException
public java.time.LocalDate getInvoiceIssueDate()
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).
public java.lang.String getBuyerReference()
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.
public java.lang.String getSellerName()
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).
public Codes.SchemeIdentifier getSellerLegalOrganizationSchemeIdentiferAttribute()
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"
public Identifier getSellerLegalOrganizationIdentifer()
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.
public java.lang.String getSellerLegalOrganizationTradingName()
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.
public java.lang.String getSellerPostCode()
The identifier for an addressable group of properties according to the relevant postal service.
Such as a ZIP code or a post code.
public java.lang.String getSellerAddressLine1()
The main address line in an address.
Usually the street name and number or post office box.
public java.lang.String getSellerAddressLine2()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getSellerAddressLine3()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getSellerCity()
The common name of the city, town or village, where the Seller address is located.
public Codes.CountryCodeList getSellerCountryCode()
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).
public java.lang.String getSellerCountrySubdivision()
The subdivision of a country.
Such as a region, a county, a state, a province, etc.
public Codes.ElectronicAddressScheme getSellerElectronicAddressScheme()
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.
public Identifier getSellerElectronicAddress()
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.
public java.lang.String getBuyerName()
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).
public Codes.SchemeIdentifier getBuyerLegalOrganizationSchemeIdentiferAttribute()
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"
public Identifier getBuyerLegalOrganizationIdentifer()
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
public java.lang.String getBuyerPostCode()
The identifier for an addressable group of properties according to the relevant postal service.
Such as a ZIP code or a post code.
public java.lang.String getBuyerAddressLine1()
The main address line in an address.
Usually the street name and number or post office box.
public java.lang.String getBuyerAddressLine2()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getBuyerAddressLine3()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getBuyerCity()
The common name of the city, town or village, where the Buyer's address is located.
public Codes.CountryCodeList getBuyerCountryCode()
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).
public java.lang.String getBuyerCountrySubdivision()
The subdivision of a country.
Such as a region, a county, a state, a province, etc.
public Codes.ElectronicAddressScheme getBuyerElectronicAddressScheme()
Scheme identifier for Buyer electronic address
The scheme identifier shall be chosen from a list to be maintained by the Connecting Europe Facility.
public Identifier getBuyerElectronicAddress()
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.
public java.lang.String getSellerTaxRepresentativeName()
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).
public java.lang.String getSellerTaxRepresentativePostCode()
The identifier for an addressable group of properties according to the relevant postal service.
Such as a ZIP code or a post code.
public java.lang.String getSellerTaxRepresentativeAddressLine1()
The main address line in an address.
Usually the street name and number or the post office box.
public java.lang.String getSellerTaxRepresentativeAddressLine2()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getSellerTaxRepresentativeAddressLine3()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getSellerTaxRepresentativeCity()
The common name of the city, town or village, where the tax representative address is located.
public Codes.CountryCodeList getSellerTaxRepresentativeCountryCode()
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).
public java.lang.String getSellerTaxRepresentativeCountrySubdivision()
The subdivision of a country.
Such as a region, a county, a state, a province, etc.
public java.lang.String getDeliverToName()
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.
public java.lang.String getDeliverToPostCode()
The identifier for an addressable group of properties according to the relevant postal service.
Such as a ZIP code or a post code.
public java.lang.String getDeliverToAddressLine1()
The main address line in an address.
Usually the street name and number.
public java.lang.String getDeliverToAddressLine2()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getDeliverToAddressLine3()
An additional address line in an address that can be used to give further details supplementing the main line.
public java.lang.String getDeliverToCity()
The common name of the city, town or village, where the deliver to address is located.
public Codes.CountryCodeList getDeliverToCountryCode()
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).
public java.lang.String getDeliverToCountrySubdivision()
The subdivision of a country.
Such as a region, a county, a state, a province, etc.
public Codes.DateFormat getActualDeliveryDateFormat() throws ComputationException
Value = 102
Only value "102"
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 returnedComputationException
public java.time.LocalDate getActualDeliveryDate()
the date on which the supply of goods or services was made or completed.
public Identifier getBankAssignedCreditorIdentifier()
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
public java.lang.String getRemittanceInformation()
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.
public Codes.Currency getInvoiceCurrencyCode()
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).
public java.lang.String getPayeeName()
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).
public Codes.SchemeIdentifier getPayeeLegalOrganizationSchemeIdentiferAttribute()
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"
public Identifier getPayeeLegalOrganizationIdentifer()
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.
public Codes.PaymentMeansCode getPaymentMeansTypeCode()
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).
public Identifier getDebitedAccountIdentifier()
The account to be debited by the direct debit.
public Identifier getPaymentAccountIdentifier()
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.
public Identifier getProprietaryID()
Use IBANID when appropriate, otherwise use ProprietaryID
Use IBANID if applicable, ProprietaryID else
public Codes.DateFormat getInvoicingPeriodStartDateFormat() throws ComputationException
Value = 102
Only value "102"
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 returnedComputationException
public java.time.LocalDate getInvoicingPeriodStartDate()
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.
public Codes.DateFormat getInvoicingPeriodEndDateFormat() throws ComputationException
Value = 102
Only value "102"
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 returnedComputationException
public java.time.LocalDate getInvoicingPeriodEndDate()
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.
public Codes.DateFormat getFormat() throws ComputationException
Value = 102
Only value "102"
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 returnedComputationException
public java.time.LocalDate getPaymentDueDate()
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.
public Identifier getMandateReferenceIdentifier()
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
public Amount getSumOfInvoiceLineNetAmount() throws ComputationException
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).
setRecompute(boolean)
has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount is returnedComputationException
public Amount getSumOfChargesOnDocumentLevel()
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).
public Amount getSumOfAllowancesOnDocumentLevel()
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).
public Amount getInvoiceTotalAmountWithoutVAT() throws ComputationException
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).
setRecompute(boolean)
has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxBasisTotalAmount is returnedComputationException
public Amount getInvoiceTotalAmountWithVAT() throws ComputationException
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).
setRecompute(boolean)
has been called with a value of false in which case the value /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount is returnedComputationException
public Amount getPaidAmount()
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.
public Amount getAmountDueForPayment() throws ComputationException
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).
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 returnedComputationException
public java.lang.String getBuyerAccountingReference()
A textual value that specifies where to book the relevant data into the Buyer's financial accounts.
CHORUS PRO: not used
public void toXML(java.io.PrintStream out) throws java.io.IOException, FacturXException
out
- the print stream to write tojava.io.IOException
FacturXException
public void toXML(java.io.PrintWriter out) throws java.io.IOException, FacturXException
out
- the print stream to write tojava.io.IOException
FacturXException
public java.lang.String getXMLAsDataURL() throws java.io.IOException, FacturXException
java.io.IOException
FacturXException
public void toJUnitJavaSourceCode(java.io.PrintStream out, java.lang.String packageName, java.lang.String className, java.lang.String referenceFilesDirectory) throws FacturXException
out
- the print stream to write topackageName
- the package name to use in the package declarationclassName
- the name to use as class name for the test classreferenceFilesDirectory
- the directory in which the test expects the reference output xml file that is named className+".xml"
FacturXException
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public static java.lang.String joinVeryLongString(java.lang.String[] chunks)
public static Invoice fromXML(java.lang.String fileName, boolean recompute) throws java.io.IOException
fileName
- the Factur-X XML file to read fromrecompute
- specifies whether or not computed fields are computed or the values from the file are used insteadjava.io.IOException