-
Notifications
You must be signed in to change notification settings - Fork 27
ClassOverview ZugferdDocumentBuilder
Class representing the document builder for outgoing documents
Receive the content as XML string
public function __toString(): string
{
}
Creates a new ZugferdDocumentBuilder with profile $profile
public static function createNew(int $profileId): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
profileId | int | ❌ |
Initialized a new document with profile settings
public function initNewDocument(): \ZugferdDocumentBuilder
{
}
Write the content of a CrossIndustryInvoice object to a string
public function getContent(): string
{
}
Write the content of a invoice object to a DOMDocument instance
public function getContentAsDomDocument(): \DOMDocument
{
}
Write the content of a invoice object to a DOMXpath instance
public function getContentAsDomXPath(): \DOMXpath
{
}
Write the content of a CrossIndustryInvoice object to a file
public function writeFile(string $xmlfilename): \ZugferdDocument
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
xmlfilename | string | ❌ |
Set main information about this document
public function setDocumentInformation(
string $documentno,
string $documenttypecode,
DateTime $documentdate,
string $invoiceCurrency,
?string $documentname = null,
?string $documentlanguage = null,
?DateTime $effectiveSpecifiedPeriod = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
documentno | string | ❌ | BT-1, From MINIMUM The document no issued by the seller |
documenttypecode | string | ❌ | BT-3, From MINIMUM The type of the document, See \horstoeko\codelists\ZugferdInvoiceType for details |
documentdate | DateTime | ❌ | BT-2, From MINIMUM Date of invoice. The date when the document was issued by the seller |
invoiceCurrency | string | ❌ | BT-5, From MINIMUM Code for the invoice currency. The code for the invoice currency |
documentname | string | ✔️ | Document Type. The documenttype (free text) |
documentlanguage | string | ✔️ | Language indicator. The language code in which the document was written |
effectiveSpecifiedPeriod | DateTime | ✔️ | The contractual due date of the invoice |
Set grouping of business process information
public function setDocumentBusinessProcess(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ |
BT-23, From MINIMUM Identifies the context of a business process where the transaction is taking place, thus allowing the buyer to process the invoice in an appropriate manner. Note: These data make it possible to define the purpose of the settlement (invoice of the authorised person, contractual partner, subcontractor, settlement document for a building contract etc.). |
Set general payment information
public function setDocumentGeneralPaymentInformation(
?string $creditorReferenceID = null,
?string $paymentReference = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
creditorReferenceID | string | ✔️ | BT-90, From BASIC WL Identifier of the creditor |
paymentReference | string | ✔️ | BT-83, From BASIC WL Intended use for payment |
Mark document as a copy from the original one
public function setIsDocumentCopy(): \ZugferdDocumentBuilder
{
}
Mark document as a test document
public function setIsTestDocument(): \ZugferdDocumentBuilder
{
}
Document money summation
public function setDocumentSummation(
float $grandTotalAmount,
float $duePayableAmount,
?float $lineTotalAmount = null,
?float $chargeTotalAmount = null,
?float $allowanceTotalAmount = null,
?float $taxBasisTotalAmount = null,
?float $taxTotalAmount = null,
?float $roundingAmount = null,
?float $totalPrepaidAmount = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
grandTotalAmount | float | ❌ | BT-112, From MINIMUM Total invoice amount including sales tax |
duePayableAmount | float | ❌ | BT-115, From MINIMUM Payment amount due |
lineTotalAmount | float | ✔️ | BT-106, From BASIC WL Sum of the net amounts of all invoice items |
chargeTotalAmount | float | ✔️ | BT-108, From BASIC WL Sum of the surcharges at document level |
allowanceTotalAmount | float | ✔️ | BT-107, From BASIC WL Sum of the discounts at document level |
taxBasisTotalAmount | float | ✔️ | BT-109, From MINIMUM Total invoice amount excluding sales tax |
taxTotalAmount | float | ✔️ | BT-110/111, From MINIMUM/BASIC WL if BT-6 is not null $taxTotalAmount = BT-111. Total amount of the invoice sales tax, Total tax amount in the booking currency |
roundingAmount | float | ✔️ | BT-114, From EN 16931 Rounding amount |
totalPrepaidAmount | float | ✔️ | BT-113, From BASIC WL Prepayment amount |
Initilize the main document summation
public function initDocumentSummation(): \ZugferdDocumentBuilder
{
}
Sets a foreign currency (code) with the tax amount. The exchange rate
is calculated by tax amounts
public function setForeignCurrency(
string $foreignCurrencyCode,
float $foreignTaxAmount,
?float $exchangeRate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
foreignCurrencyCode | string | ❌ | BT-6, From BASIC WL Foreign currency code |
foreignTaxAmount | float | ❌ | Required from EXTENDED Tax total amount in the foreign currency |
exchangeRate | float | ✔️ | __BT-X-260, From EXTENDED __ Exchange Rate |
Add a note to the docuzment
public function addDocumentNote(
string $content,
?string $contentCode = null,
?string $subjectCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
content | string | ❌ | BT-22, From BASIC WL A free text containing unstructured information that is relevant to the invoice as a whole |
contentCode | string | ✔️ | BT-X-5, From EXTENDED A code to classify the content of the free text of the invoice |
subjectCode | string | ✔️ | BT-21, From BASIC WL The qualification of the free text for the invoice from BT-22 |
An identifier assigned by the buyer and used for internal routing.
Note: The reference is specified by the buyer (e.g. contact details, department, office ID, project code),
but stated by the seller on the invoice.
Note: The route ID must be specified in the Buyer Reference (BT-10) in the XRechnung. According to the XRechnung
standard, two syntaxes are permitted for displaying electronic invoices: Universal Business Language (UBL) and UN/CEFACT
Cross Industry Invoice (CII).
public function setDocumentBuyerReference(?string $buyerreference): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
buyerreference | string | ✔️ | BT-10, From MINIMUM An identifier assigned by the buyer and used for internal routing |
Set the routing-id (needed for German XRechnung)
This is an alias-method for setDocumentBuyerReference
Note: The route ID must be specified in the Buyer Reference (BT-10) in the XRechnung.
public function setDocumentRoutingId(string $routingId): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
routingId | string | ❌ | BT-10, From MINIMUM An identifier assigned by the buyer and used for internal routing |
Detailed information about the seller (=service provider)
public function setDocumentSeller(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | BT-27, From MINIMUM The full formal name under which the seller is registered in the National Register of Legal Entities, Taxable Person or otherwise acting as person(s) |
id | string | ✔️ | BT-29, From BASIC WL An identifier of the seller. In many systems, seller identification is key information. Multiple seller IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged, buyer-assigned identifier of the seller |
description | string | ✔️ | BT-33, From EN 16931 Further legal information that is relevant for the seller |
Add an id to the document seller
public function addDocumentSellerId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-29, From BASIC WL An identifier of the seller. In many systems, seller identification is key information. Multiple seller IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged, buyer-assigned identifier of the seller |
Add a global id for the seller
Notes
- The Seller's ID identification scheme is a unique identifier
assigned to a seller by a global registration organization
public function addDocumentSellerGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | BT-29/BT-29-0, From BASIC WL The seller's identifier identification scheme is an identifier uniquely assigned to a seller by a global registration organization. |
globalIDType | string | ✔️ | BT-29-1, From BASIC WL If the identifier is used for the identification scheme, it must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add detailed information on the seller's tax information
The local identification (defined by the seller's address) of the seller for tax purposes or a reference that enables the seller
to indicate his reporting status for tax purposes The sales tax identification number of the seller
Note: This information may affect how the buyer the invoice settled (such as in relation to social security contributions). So
e.g. In some countries, if the seller is not reported for tax, the buyer will withhold the tax amount and pay it on behalf of the
seller. Sales tax number with a prefixed country code. A supplier registered as subject to VAT must provide his sales tax
identification number, unless he uses a tax agent.
public function addDocumentSellerTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | BT-31-0/BT-32-0, From MINIMUM/EN 16931 Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | BT-31/32, From MINIMUM/EN 16931 Tax number of the seller or sales tax identification number of the seller |
Sets detailed information on the business address of the seller
public function setDocumentSellerAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | BT-35, From BASIC WL The main line in the sellers address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | BT-36, From BASIC WL Line 2 of the seller's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line used to provide additional details in addition to the main line |
linethree | string | ✔️ | BT-162, From BASIC WL Line 3 of the seller's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | BT-38, From BASIC WL Identifier for a group of properties, such as a zip code |
city | string | ✔️ | BT-37, From BASIC WL Usual name of the city or municipality in which the seller's address is located |
country | string | ✔️ | BT-40, From MINIMUM Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | BT-39, From BASIC WL The sellers state |
Set Organization details
public function setDocumentSellerLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | BT-30, From MINIMUM An identifier issued by an official registrar that identifies the seller as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer and seller |
legalorgtype | string | ✔️ | BT-30-1, From MINIMUM The identifier for the identification scheme of the legal registration of the seller. If the identification scheme is used, it must be selected from ISO/IEC 6523 list |
legalorgname | string | ✔️ | BT-28, From BASIC WL A name by which the seller is known, if different from the seller's name (also known as the company name). Note: This may be used if different from the seller's name. |
Set detailed information on the seller's contact person
public function setDocumentSellerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | BT-41, From EN 16931 Such as personal name, name of contact person or department or office |
contactdepartmentname | string | ✔️ | BT-41-0, From EN 16931 If a contact person is specified, either the name or the department must be transmitted. |
contactphoneno | string | ✔️ | BT-42, From EN 16931 A telephone number for the contact point |
contactfaxno | string | ✔️ | BT-X-107, From EXTENDED A fax number of the contact point |
contactemailadd | string | ✔️ | BT-43, From EN 16931 An e-mail address of the contact point |
Add detailed information on the seller's contact person (EXTENDED Profile only)
public function addDocumentSellerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | BT-41, From EN 16931 Such as personal name, name of contact person or department or office |
contactdepartmentname | string | ✔️ | BT-41-0, From EN 16931 If a contact person is specified, either the name or the department must be transmitted. |
contactphoneno | string | ✔️ | BT-42, From EN 16931 A telephone number for the contact point |
contactfaxno | string | ✔️ | BT-X-107, From EXTENDED A fax number of the contact point |
contactemailadd | string | ✔️ | BT-43, From EN 16931 An e-mail address of the contact point |
Set the seller's electronic communication information
public function setDocumentSellerCommunication(?string $uriScheme, ?string $uri): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
uriScheme | string | ✔️ | BT-34-1, From BASIC WL The identifier for the identification scheme of the seller's electronic address |
uri | string | ✔️ | BT-34, From BASIC WL Specifies the electronic address of the seller to which the response to the invoice can be sent at application level |
Detailed information about the buyer (service recipient)
public function setDocumentBuyer(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | BT-44, From MINIMUM The full name of the buyer |
id | string | ✔️ | BT-46, From BASIC WL An identifier of the buyer. In many systems, buyer identification is key information. Multiple buyer IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and buyer, e.g. a previously exchanged, seller-assigned identifier of the buyer |
description | string | ✔️ | BT-X-334, From EXTENDED Further legal information about the buyer |
Add an id to the document buyer
public function addDocumentBuyerId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-46, From BASIC WL An identifier of the buyer. In many systems, buyer identification is key information. Multiple buyer IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and buyer, e.g. a previously exchanged, seller-assigned identifier of the buyer |
Add a global id for the buyer
public function addDocumentBuyerGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | BT-46-0, From BASIC WL The buyers's identifier identification scheme is an identifier uniquely assigned to a buyer by a global registration organization. |
globalIDType | string | ✔️ | BT-46-1, From BASIC WL If the identifier is used for the identification scheme, it must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add detailed information on the buyers's tax information
The local identification (defined by the buyers's address) of the buyers for tax purposes or a reference that enables the buyers
to indicate his reporting status for tax purposes The sales tax identification number of the buyers
Note: This information may affect how the buyer the invoice settled (such as in relation to social security contributions). So
e.g. In some countries, if the buyers is not reported for tax, the buyer will withhold the tax amount and pay it on behalf of the
buyers. Sales tax number with a prefixed country code. A supplier registered as subject to VAT must provide his sales tax
identification number, unless he uses a tax agent.
public function addDocumentBuyerTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | BT-48-0, From BASIC WL Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | BT-48, From BASIC WL Tax number of the seller or sales tax identification number of the seller. Tax number of the seller or sales tax identification number of the (FC = Tax number, VA = Sales tax number) |
Sets detailed information on the business address of the buyer
public function setDocumentBuyerAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | BT-50, From BASIC WL The main line in the buyers address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | BT-51, From BASIC WL Line 2 of the buyers address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | BT-163, From BASIC WL Line 3 of the buyers address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | BT-53, From BASIC WL Identifier for a group of properties, such as a zip code |
city | string | ✔️ | BT-52, From BASIC WL Usual name of the city or municipality in which the buyers address is located |
country | string | ✔️ | BT-55, From BASIC WL Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | BT-54, From BASIC WL The buyers state |
Set legal organisation of the buyer party
public function setDocumentBuyerLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | BT-47, From MINIMUM An identifier issued by an official registrar that identifies the buyer as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer and buyer |
legalorgtype | string | ✔️ | BT-47-1, From MINIMUM The identifier for the identification scheme of the legal registration of the buyer. If the identification scheme is used, it must be selected from ISO/IEC 6523 list |
legalorgname | string | ✔️ | BT-45, From EN 16931 A name by which the buyer is known, if different from the buyers name (also known as the company name) |
Set contact of the buyer party
public function setDocumentBuyerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | BT-56, From EN 16931 Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | BT-56-0, From EN 16931 Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | BT-57, From EN 16931 Detailed information on the buyer's phone number |
contactfaxno | string | ✔️ | BT-X-115, From EXTENDED Detailed information on the buyer's fax number |
contactemailadd | string | ✔️ | BT-58, From EN 16931 Detailed information on the buyer's email address |
Add detailed information on the buyers's contact person (EXTENDED Profile only)
public function addDocumentBuyerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | BT-56, From EN 16931 Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | BT-56-0, From EN 16931 Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | BT-57, From EN 16931 Detailed information on the buyer's phone number |
contactfaxno | string | ✔️ | BT-X-115, From EXTENDED Detailed information on the buyer's fax number |
contactemailadd | string | ✔️ | BT-58, From EN 16931 Detailed information on the buyer's email address |
Set the buyers's electronic communication information
public function setDocumentBuyerCommunication(?string $uriScheme, ?string $uri): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
uriScheme | string | ✔️ | BT-49-1, From BASIC WL The identifier for the identification scheme of the buyer's electronic address |
uri | string | ✔️ | BT-49, From BASIC WL Specifies the buyer's electronic address to which the invoice is sent |
Sets the seller's tax representative trade party
public function setDocumentSellerTaxRepresentativeTradeParty(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | BT-62, From BASIC WL The full name of the seller's tax agent |
id | string | ✔️ | An identifier of the sellers tax agent. |
description | string | ✔️ | Further legal information that is relevant for the sellers tax agent |
Add a global id for the Tax representative party
public function addDocumentSellerTaxRepresentativeGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | The seller's tax agent identifier identification scheme is an identifier uniquely assigned to a seller by a global registration organization. |
globalIDType | string | ✔️ | If the identifier is used for the identification scheme, it must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to tax representative party
public function addDocumentSellerTaxRepresentativeTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | BT-63-0, From BASIC WL Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | BT-63, From BASIC WL Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the tax representative party
public function setDocumentSellerTaxRepresentativeAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | BT-64, From BASIC WL The main line in the sellers tax agent address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | BT-65, From BASIC WL Line 2 of the sellers tax agent address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | BT-164, From BASIC WL Line 3 of the sellers tax agent address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | BT-67, From BASIC WL Identifier for a group of properties, such as a zip code |
city | string | ✔️ | BT-66, From BASIC WL Usual name of the city or municipality in which the sellers tax agent address is located |
country | string | ✔️ | BT-69, From BASIC WL Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | BT-68, From BASIC WL The sellers tax agent state |
Set legal organisation of the tax representative party
public function setDocumentSellerTaxRepresentativeLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the seller tax agent as a legal entity or legal person. |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the sellers tax agent. If the identification scheme is used, it must be selected from ISO/IEC 6523 list |
legalorgname | string | ✔️ | A name by which the sellers tax agent is known, if different from the sellers tax agent name (also known as the company name) |
Set contact of the tax representative party
public function setDocumentSellerTaxRepresentativeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the seller's phone number |
contactfaxno | string | ✔️ | Detailed information on the seller's fax number |
contactemailadd | string | ✔️ | Detailed information on the seller's email address |
Add an additional contact to the tax representative party. This is only supported in
EXTENDED profile
public function addDocumentSellerTaxRepresentativeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the seller's phone number |
contactfaxno | string | ✔️ | Detailed information on the seller's fax number |
contactemailadd | string | ✔️ | Detailed information on the seller's email address |
Detailed information on the product end user (general information)
public function setDocumentProductEndUser(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The full formal name under which the product end user is registered in the National Register of Legal Entities, Taxable Person or otherwise acting as person(s) |
id | string | ✔️ | An identifier of the product end user. In many systems, product end user identification is key information. Multiple product end user IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to all trade parties, e.g. a previously exchanged |
description | string | ✔️ | Further legal information that is relevant for the product end user |
Add a global id for the Product Enduser Trade Party
public function addDocumentProductEndUserGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | The identifier is uniquely assigned to a party by a global registration organization. |
globalIDType | string | ✔️ | If the identifier is used for the identification scheme, it must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Product Enduser Trade Party
The local identification (defined by the party's address) of the party for tax purposes or a reference that enables the party
to indicate his reporting status for tax purposes The sales tax identification number of the party
Note: This information may affect how the buyer the invoice settled (such as in relation to social security contributions). So
e.g. In some countries, if the party is not reported for tax, the buyer will withhold the tax amount and pay it on behalf of the
party. Sales tax number with a prefixed country code. A supplier registered as subject to VAT must provide his sales tax
identification number, unless he uses a tax agent.
public function addDocumentProductEndUserTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the Product Enduser party
public function setDocumentProductEndUserAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the product end users address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the product end users address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the product end users address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the product end users address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The product end users state |
Set legal organisation of the Product Enduser party
public function setDocumentProductEndUserLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the product end user as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to all trade parties |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the product end user. If the identification scheme is used, it must be selected from ISO/IEC 6523 list |
legalorgname | string | ✔️ | A name by which the product end user is known, if different from the product end users name (also known as the company name) |
Set contact of the Product Enduser party
public function setDocumentProductEndUserContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the product end user's phone number |
contactfaxno | string | ✔️ | Detailed information on the product end user's fax number |
contactemailadd | string | ✔️ | Detailed information on the product end user's email address |
Add an additional contact to the Product Enduser party. This is only supported in
EXTENDED profile
public function addDocumentProductEndUserContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the product end user's phone number |
contactfaxno | string | ✔️ | Detailed information on the product end user's fax number |
contactemailadd | string | ✔️ | Detailed information on the product end user's email address |
Ship-To
public function setDocumentShipTo(
?string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ✔️ | BT-70, From BASIC WL The name of the party to whom the goods are being delivered or for whom the services are being performed. Must be used if the recipient of the goods or services is not the same as the buyer. |
id | string | ✔️ | BT-71, From BASIC WL An identifier for the place where the goods are delivered or where the services are provided. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add an id to the Ship-to Trade Party
public function addDocumentShipTolId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-71, From BASIC WL An identifier for the place where the goods are delivered or where the services are provided. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
Add a global id for the Ship-to Trade Party
public function addDocumentShipToGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | __BT-71-0, From __ Global identifier of the goods recipient |
globalIDType | string | ✔️ | __BT-71-1, From __ Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Ship-To Trade party
public function addDocumentShipToTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the Ship-To party
public function setDocumentShipToAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | BT-75, From BASIC WL The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | BT-76, From BASIC WL Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | BT-165, From BASIC WL Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | BT-78, From BASIC WL Identifier for a group of properties, such as a zip code |
city | string | ✔️ | BT-77, From BASIC WL Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | BT-80, From BASIC WL Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | BT-79, From BASIC WL The party's state |
Set legal organisation of the Ship-To party
public function setDocumentShipToLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the Ship-To party. All formerly assigned contacts will be
overwritten
public function setDocumentShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add a contact to the Ship-To party. This is actually only possible in
the EXTENDED profile
public function addDocumentShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Detailed information on the different end recipient
Notes
- This is only available in the EXTENDED profile
public function setDocumentUltimateShipTo(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | Name or company name of the different end recipient |
id | string | ✔️ | Identification of the different end recipient. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. |
description | string | ✔️ | Further legal information that is relevant for the different end recipient |
Add an id to the different end recipient party
Notes
- This is only available in the EXTENDED profile
public function addDocumentUltimateShipToId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | Identification of the different end recipient. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. |
Add a global id for the different end recipient party
Notes
- This is only available in the EXTENDED profile
public function addDocumentUltimateShipToGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identifier of the goods recipient |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to the different end recipient party
Notes
- This is only available in the EXTENDED profile
public function addDocumentUltimateShipToTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the different end recipient
Notes
- This is only available in the EXTENDED profile
public function setDocumentUltimateShipToAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box. For major customer addresses, this field must be filled with "-". |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the different end recipient
Notes
- This is only available in the EXTENDED profile
public function setDocumentUltimateShipToLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the different end recipient
public function setDocumentUltimateShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the different end recipient. This is only supported in the
EXTENDED profile
public function addDocumentUltimateShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Set detailed information of the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function setDocumentShipFrom(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The name of the party |
id | string | ✔️ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add an id to the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function addDocumentShipFromId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
Add a global id for the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function addDocumentShipFromGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identifier of the goods recipient |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function addDocumentShipFromTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function setDocumentShipFromAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the deviating consignor party
Notes
- This is only available in the EXTENDED profile
public function setDocumentShipFromLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the deviating consignor party
public function setDocumentShipFromContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the deviating consignor party. This is only supported in the
EXTENDED profile
public function addDocumentShipFromContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Invoicer (Rechnungssteller)
public function setDocumentInvoicer(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The name of the party |
id | string | ✔️ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add an id to the Invoicer Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoicerId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
Add a global id for the Invoicer Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoicerGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identifier of the goods recipient |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Invoicer Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoicerTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoicerAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoicerLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN,* 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoicerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the ultimate Ship-from party
public function addDocumentInvoicerContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Set detailed information on the different invoice recipient,
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoicee(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The name of the party |
id | string | ✔️ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add an id to the Invoicee Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoiceeId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
Add a global id for the Invoicee Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoiceeGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identification number |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Invoicer Trade Party
Notes
- This is only available in the EXTENDED profile
public function addDocumentInvoiceeTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoiceeAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoiceeLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the ultimate Ship-from party
Notes
- This is only available in the EXTENDED profile
public function setDocumentInvoiceeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the ultimate Ship-from party. This is only supported in the
EXTENDED profile
public function addDocumentInvoiceeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Set detailed information about the payee, i.e. about the place that receives the payment.
The role of the payee may also be performed by a party other than the seller, e.g. by a factoring service.
public function setDocumentPayee(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | BT-59, From BASIC WL The name of the party. Must be used if the payee is not the same as the seller. However, the name of the payee may match the name of the seller. |
id | string | ✔️ | BT-60, From BASIC WL An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add an id to the payee trade party
public function addDocumentPayeeId(string $id): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-60, From BASIC WL An identifier for the party. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
Add a global id for the payee trade party
public function addDocumentPayeeGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identification number |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to payee trade party
public function addDocumentPayeeTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | BT-??, From BASIC WL Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | BT-60, From BASIC WL Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the payee trade party
public function setDocumentPayeeAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the payee trade party
public function setDocumentPayeeLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | BT-61, From BASIC WL An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the payee trade party
public function setDocumentPayeeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the payee trade party. Note this is only supported in the
EXTENDED profile
public function addDocumentPayeeContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Set information on the delivery conditions
Note
- This is only available in the EXTENDED profile
public function setDocumentDeliveryTerms(?string $code): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
code | string | ✔️ |
Set details of the associated order confirmation
public function setDocumentSellerOrderReferencedDocument(
string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | BT-14, From EN 16931 An identifier issued by the seller for a referenced sales order (Order confirmation number) |
issueddate | DateTime | ✔️ | Order confirmation date |
Set details of the related buyer order
public function setDocumentBuyerOrderReferencedDocument(
?string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ✔️ | BT-13, From MINIMUM An identifier issued by the buyer for a referenced order (order number) |
issueddate | DateTime | ✔️ | Date of order |
Set details of the associated contract
public function setDocumentContractReferencedDocument(
?string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ✔️ | BT-12, From BASIC WL The contract reference should be assigned once in the context of the specific trade relationship and for a defined period of time (contract number) |
issueddate | DateTime | ✔️ | Contract date |
Set information about billing documents that provide evidence of claims made in the bill
Notes
- The documents justifying the invoice can be used to reference a document number, which should be
known to the recipient, as well as an external document (referenced by a URL) or an embedded document (such
as a timesheet as a PDF file). The option of linking to an external document is e.g. required when it comes
to large attachments and / or sensitive information, e.g. for personal services, which must be separated
from the bill
- Use ZugferdDocumentReader::firstDocumentAdditionalReferencedDocument and
ZugferdDocumentReader::nextDocumentAdditionalReferencedDocument to seek between multiple additional referenced
documents
public function addDocumentAdditionalReferencedDocument(
string $issuerassignedid,
string $typecode,
?string $uriid = null,
mixed $name = null,
?string $reftypecode = null,
?DateTime $issueddate = null,
?string $binarydatafilename = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | The identifier of the tender or lot to which the invoice relates, or an identifier specified by the seller for an object on which the invoice is based, or an identifier of the document on which the invoice is based. |
typecode | string | ❌ | Type of referenced document (See codelist UNTDID 1001) - Code 916 "reference paper" is used to reference the identification of the document on which the invoice is based - Code 50 "Price / sales catalog response" is used to reference the tender or the lot - Code 130 "invoice data sheet" is used to reference an identifier for an object specified by the seller. |
uriid | string | ✔️ | The Uniform Resource Locator (URL) at which the external document is available. A means of finding the resource including the primary access method intended for it, e.g. http: // or ftp: //. The location of the external document must be used if the buyer needs additional information to support the amounts billed. External documents are not part of the invoice. Access to external documents can involve certain risks. |
name | mixed | ❌ | A description of the document, e.g. Hourly billing, usage or consumption report, etc. |
reftypecode | string | ✔️ | The identifier for the identification scheme of the identifier of the item invoiced. If it is not clear to the recipient which scheme is used for the identifier, an identifier of the scheme should be used, which must be selected from UNTDID 1153 in accordance with the code list entries. |
issueddate | DateTime | ✔️ | Document date |
binarydatafilename | string | ✔️ | Contains a file name of an attachment document embedded as a binary object |
Set a Reference to the previous invoice
To be used if:
- a previous invoice is corrected
- reference is made from a final invoice to previous partial invoices
- reference is made from a final invoice to previous invoices for advance payments. *
public function setDocumentInvoiceReferencedDocument(
string $issuerassignedid,
?string $typecode = null,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | BT-25, From BASIC WL The identification of an invoice previously sent by the seller |
typecode | string | ✔️ | Type of previous invoice (code) |
issueddate | DateTime | ✔️ | BT-26, From BASIC WL Date of the previous invoice |
Add a Reference to the previous invoice
To be used if:
- a previous invoice is corrected
- reference is made from a final invoice to previous partial invoices
- reference is made from a final invoice to previous invoices for advance payments. *
public function addDocumentInvoiceReferencedDocument(
string $issuerassignedid,
?string $typecode = null,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | BT-25, From BASIC WL The identification of an invoice previously sent by the seller |
typecode | string | ✔️ | Type of previous invoice (code) |
issueddate | DateTime | ✔️ | BT-26, From BASIC WL Date of the previous invoice |
Set Details of a project reference
public function setDocumentProcuringProject(string $id, string $name = 'Project Reference'): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-11, From EN 16931 Project Data |
name | string | ❌ | Project Name |
Add a reference of the ultimate customer order
public function addDocumentUltimateCustomerOrderReferencedDocument(
string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | |
issueddate | DateTime | ✔️ |
Set detailed information on the actual delivery
public function setDocumentSupplyChainEvent(?DateTime $date): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
date | DateTime | ✔️ | BT-72, From BASIC WL Actual delivery time |
Set detailed information on the associated shipping notification
public function setDocumentDespatchAdviceReferencedDocument(
?string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ✔️ | BT-16, From BASIC WL Shipping notification reference |
issueddate | DateTime | ✔️ | Shipping notification date |
Set detailed information on the associated goods receipt notification
public function setDocumentReceivingAdviceReferencedDocument(
string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | BT-15, From EN 16931 An identifier for a referenced goods receipt notification (Goods receipt number) |
issueddate | DateTime | ✔️ | Goods receipt date |
Set detailed information on the associated delivery note
Notes
- This is only available in the EXTENDED profile
public function setDocumentDeliveryNoteReferencedDocument(
string $issuerassignedid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | Delivery receipt number |
issueddate | DateTime | ✔️ | Delivery receipt date |
Add detailed information on the payment method
Notes
- The SpecifiedTradeSettlementPaymentMeans element can only be repeated for each bank account if
several bank accounts are to be transferred for transfers. The code for the payment method in the Typecode
element must therefore not differ in the repetitions. The elements ApplicableTradeSettlementFinancialCard
and PayerPartyDebtorFinancialAccount must not be specified for bank transfers.
public function addDocumentPaymentMean(
string $typecode,
?string $information = null,
?string $cardType = null,
?string $cardId = null,
?string $cardHolderName = null,
?string $buyerIban = null,
?string $payeeIban = null,
?string $payeeAccountName = null,
?string $payeePropId = null,
?string $payeeBic = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
typecode | string | ❌ |
BT-81, From BASIC WL The expected or used means of payment, expressed as a code. The entries from the UNTDID 4461 code list must be used. A distinction should be made between SEPA and non-SEPA payments as well as between credit payments, direct debits, card payments and other means of payment In particular, the following codes can be used: - 10: cash - 20: check - 30: transfer - 42: Payment to bank account - 48: Card payment - 49: direct debit - 57: Standing order - 58: SEPA Credit Transfer - 59: SEPA Direct Debit - 97: Report |
information | string | ✔️ | BT-82, From EN 16931 The expected or used means of payment expressed in text form, e.g. cash, bank transfer, direct debit, credit card, etc. |
cardType | string | ✔️ | The type of the card |
cardId | string | ✔️ | BT-84, From BASIC WL The primary account number (PAN) to which the card used for payment belongs. In accordance with card payment security standards, an invoice should never contain a full payment card master account number. The following specification of the PCI Security Standards Council currently applies: The first 6 and last 4 digits at most are to be displayed |
cardHolderName | string | ✔️ | Name of the payment card holder |
buyerIban | string | ✔️ | BT-91, From BASIC WL Direct debit: ID of the account to be debited |
payeeIban | string | ✔️ | Transfer: A unique identifier for the financial account held with a payment service provider to which the payment should be made, e.g. Use an IBAN (in the case of a SEPA payment) for a national ProprietaryID account number |
payeeAccountName | string | ✔️ | The name of the payment account held with a payment service provider to which the payment should be made. Information only required if different from the name of the payee / seller |
payeePropId | string | ✔️ | National account number (not for SEPA) |
payeeBic | string | ✔️ | Seller's banking institution, An identifier for the payment service provider with whom the payment account is managed, such as the BIC or a national bank code, if required. No identification scheme is to be used. |
Sets the document payment means to SEPA Credit Transfer
German translation: Überweisung
public function addDocumentPaymentMeanToCreditTransfer(
string $payeeIban,
?string $payeeAccountName = null,
?string $payeePropId = null,
?string $payeeBic = null,
?string $paymentReference = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
payeeIban | string | ❌ | Transfer: A unique identifier for the financial account held with a payment service provider to which the payment should be made, e.g. Use an IBAN (in the case of a SEPA payment) for a national ProprietaryID account number |
payeeAccountName | string | ✔️ | The name of the payment account held with a payment service provider to which the payment should be made. Information only required if different from the name of the payee / seller |
payeePropId | string | ✔️ | National account number (not for SEPA) |
payeeBic | string | ✔️ | Seller's banking institution, An identifier for the payment service provider with whom the payment account is managed, such as the BIC or a national bank code, if required. No identification scheme is to be used. |
paymentReference | string | ✔️ | Intended use for payment. It can also be set using setDocumentGeneralPaymentInformation() . |
Sets the document payment means to SEPA Direct Debit
public function addDocumentPaymentMeanToDirectDebit(
string $buyerIban,
?string $creditorReferenceID = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
buyerIban | string | ❌ | Direct debit: ID of the account to be debited |
creditorReferenceID | string | ✔️ | Identifier of the creditor (German: "Gläubiger ID"). It can also be set using setDocumentGeneralPaymentInformation() . |
Sets the document payment means to Payment card
public function addDocumentPaymentMeanToPaymentCard(
string $cardType,
string $cardId,
?string $cardHolderName = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
cardType | string | ❌ | The type of the card, such as VISA, American Express, Master Card. |
cardId | string | ❌ | The primary account number (PAN) to which the card used for payment belongs. In accordance with card payment security standards, an invoice should never contain a full payment card master account number. The following specification of the PCI Security Standards Council currently applies: The first 6 and last 4 digits at most are to be displayed |
cardHolderName | string | ✔️ | Name of the payment card holder |
Add a VAT breakdown (at document level)
public function addDocumentTax(
string $categoryCode,
string $typeCode,
float $basisAmount,
float $calculatedAmount,
?float $rateApplicablePercent = null,
?string $exemptionReason = null,
?string $exemptionReasonCode = null,
?float $lineTotalBasisAmount = null,
?float $allowanceChargeBasisAmount = null,
?DateTime $taxPointDate = null,
?string $dueDateTypeCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
categoryCode | string | ❌ |
BT-118, From BASIC WL Coded description of a sales tax category The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta / Melilla) |
typeCode | string | ❌ | BT-118-0, From BASIC WL Coded description of a sales tax category. Note: Fixed value = "VAT" |
basisAmount | float | ❌ | BT-116, From BASIC WL Tax base amount, Each sales tax breakdown must show a category-specific tax base amount. |
calculatedAmount | float | ❌ | BT-117, From BASIC WL The total amount to be paid for the relevant VAT category. Note: Calculated by multiplying the amount to be taxed according to the sales tax category by the sales tax rate applicable for the sales tax category concerned |
rateApplicablePercent | float | ✔️ | BT-119, From BASIC WL The sales tax rate, expressed as the percentage applicable to the sales tax category in question. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
exemptionReason | string | ✔️ | BT-120, From BASIC WL Reason for tax exemption (free text) |
exemptionReasonCode | string | ✔️ | BT-121, From BASIC WL Reason given in code form for the exemption of the amount from VAT. Note: Code list issued and maintained by the Connecting Europe Facility. |
lineTotalBasisAmount | float | ✔️ | Tax rate goods amount |
allowanceChargeBasisAmount | float | ✔️ | Total amount of surcharges and deductions of the tax rate at document level |
taxPointDate | DateTime | ✔️ | Specification of a date, in accordance with the sales tax guideline, on which the sales tax for the seller and for the buyer becomes relevant for accounting, insofar as this date can be determined and differs from the invoice date Note: The tax collection date for VAT purposes is usually the date the goods were delivered or the service was completed (the base tax date). There are a few variations. For further information, please refer to Article 226 (7) of Council Directive 2006/112 / EC. This element is required if the date set for the sales tax return differs from the invoice date. Both the buyer and the seller should use the delivery date for VAT returns, if provided by the seller. This is not used in Germany. Instead, the delivery and service date must be specified. |
dueDateTypeCode | string | ✔️ |
BT-8, From BASIC WL The code for the date on which sales tax becomes relevant for the seller and the buyer. The code must distinguish between the following entries from UNTDID 2005: - date of issue of the invoice document - actual delivery date - Date of payment. The VAT Collection Date Code is used when the VAT Collection Date is not known for VAT purposes when the invoice is issued. The semantic values cited in the standard, which are represented by the values 3, 35, 432 in UNTDID2005, are mapped to the following values of UNTDID2475, which is the relevant code list supported by CII 16B: - 5: date of issue of the invoice - 29: Delivery date, current status - 72: Paid to date In Germany, the date of delivery and service is decisive. |
Add a VAT breakdown (at document level) in a more simple way
public function addDocumentTaxSimple(
string $categoryCode,
string $typeCode,
float $basisAmount,
float $calculatedAmount,
?float $rateApplicablePercent = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
categoryCode | string | ❌ | Coded description of a sales tax category The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta / Melilla) |
typeCode | string | ❌ | Coded description of a sales tax category. Note: Fixed value = "VAT" |
basisAmount | float | ❌ | Tax base amount, Each sales tax breakdown must show a category-specific tax base amount. |
calculatedAmount | float | ❌ | The total amount to be paid for the relevant VAT category. Note: Calculated by multiplying the amount to be taxed according to the sales tax category by the sales tax rate applicable for the sales tax category concerned |
rateApplicablePercent | float | ✔️ | The sales tax rate, expressed as the percentage applicable to the sales tax category in question. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
Get detailed information on the billing period
public function setDocumentBillingPeriod(
?DateTime $startdate,
?DateTime $endDate,
?string $description
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
startdate | DateTime | ✔️ | BT-73, From BASIC WL Start of the billing period |
endDate | DateTime | ✔️ | BT-74, From BASIC WL End of the billing period |
description | string | ✔️ | Further information of the billing period |
Add information about surcharges and charges applicable to the bill as a whole, Deductions,
such as for withheld taxes may also be specified in this group
public function addDocumentAllowanceCharge(
float $actualAmount,
bool $isCharge,
string $taxCategoryCode,
string $taxTypeCode,
?float $rateApplicablePercent,
?float $sequence = null,
?float $calculationPercent = null,
?float $basisAmount = null,
?float $basisQuantity = null,
?string $basisQuantityUnitCode = null,
?string $reasonCode = null,
?string $reason = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
actualAmount | float | ❌ | BT-92/BT-99, From BASIC WL Amount of the surcharge or discount at document level |
isCharge | bool | ❌ | BT-20-1/BT-21-1, From BASIC WL Switch that indicates whether the following data refer to an surcharge or a discount, true means that this an charge |
taxCategoryCode | string | ❌ |
BT-95/BT-102, From BASIC WL A coded indication of which sales tax category applies to the surcharge or deduction at document level The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta/Melilla) |
taxTypeCode | string | ❌ | BT-95-0/BT-102-0, From BASIC WL Code for the VAT category of the surcharge or charge at document level. Note: Fixed value = "VAT" |
rateApplicablePercent | float | ✔️ | BT-96/BT-103, From BASIC WL VAT rate for the surcharge or discount on document level. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
sequence | float | ✔️ | Calculation order |
calculationPercent | float | ✔️ | BT-94/BT-101, From BASIC WL Percentage surcharge or discount at document level |
basisAmount | float | ✔️ | BT-93/BT-100, From BASIC WL The base amount that may be used in conjunction with the percentage of the surcharge or discount at document level to calculate the amount of the discount at document level |
basisQuantity | float | ✔️ | Basismenge des Rabatts |
basisQuantityUnitCode | string | ✔️ | Einheit der Preisbasismenge - Codeliste: Rec. N°20 Vollständige Liste, In Recommendation N°20 Intro 2.a ist beschrieben, dass beide Listen kombiniert anzuwenden sind. - Codeliste: Rec. N°21 Vollständige Liste, In Recommendation N°20 Intro 2.a ist beschrieben, dass beide Listen kombiniert anzuwenden sind. |
reasonCode | string | ✔️ |
BT-98/BT-105, From BASIC WL The reason given as a code for the surcharge or discount at document level. Note: Use entries from the UNTDID 5189 code list. The code of the reason for the surcharge or discount at document level and the reason for the surcharge or discount at document level must correspond to each other Code list: UNTDID 7161 Complete list, code list: UNTDID 5189 Restricted Include PEPPOL subset: - 41 - Bonus for works ahead of schedule - 42 - Other bonus - 60 - Manufacturer’s consumer discount - 62 - Due to military status - 63 - Due to work accident - 64 - Special agreement - 65 - Production error discount - 66 - New outlet discount - 67 - Sample discount - 68 - End-of-range discount - 70 - Incoterm discount - 71 - Point of sales threshold allowance - 88 - Material surcharge/deduction - 95 - Discount - 100 - Special rebate - 102 - Fixed long term - 103 - Temporary - 104 - Standard - 105 - Yearly turnover |
reason | string | ✔️ | BT-97/BT-104, From BASIC WL The reason given in text form for the surcharge or discount at document level |
Add a logistical service fees (On document level)
public function addDocumentLogisticsServiceCharge(
string $description,
float $appliedAmount,
?array $taxTypeCodes = null,
?array $taxCategoryCodes = null,
?array $rateApplicablePercents = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
description | string | ❌ | Identification of the service fee |
appliedAmount | float | ❌ | Amount of the service fee |
taxTypeCodes | array | ✔️ | Coded description of a sales tax category. Note: Fixed value = "VAT" |
taxCategoryCodes | array | ✔️ | Coded description of a sales tax category The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta / Melilla) |
rateApplicablePercents | array | ✔️ | The sales tax rate, expressed as the percentage applicable to the sales tax category in question. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
Add a payment term
public function addDocumentPaymentTerm(
?string $description = null,
?DateTime $dueDate = null,
?string $directDebitMandateID = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
description | string | ✔️ | _BT-20, From BASIC WL A text description of the payment terms that apply to the payment amount due (including a description of possible penalties). Note: This element can contain multiple lines and multiple conditions. |
dueDate | DateTime | ✔️ | BT-9, From BASIC WL The date by which payment is due Note: The payment due date reflects the net payment due date. In the case of partial payments, this indicates the first due date of a net payment. The corresponding description of more complex payment terms can be given in BT-20. |
directDebitMandateID | string | ✔️ |
BT-89, From BASIC WL Unique identifier assigned by the payee to reference the direct debit authorization. Note: Used to inform the buyer in advance about a SEPA direct debit. Synonym: mandate reference for SEPA |
Add discount Terms to last added payment term
public function addDiscountTermsToPaymentTerms(
?float $calculationPercent = null,
?DateTime $basisDateTime = null,
?float $basisPeriodMeasureValue = null,
?string $basisPeriodMeasureUnitCode = null,
?float $basisAmount = null,
?float $actualDiscountAmount = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
calculationPercent | float | ✔️ | Percentage of the down payment |
basisDateTime | DateTime | ✔️ | Due date reference date |
basisPeriodMeasureValue | float | ✔️ | Due period |
basisPeriodMeasureUnitCode | string | ✔️ | Due period, unit |
basisAmount | float | ✔️ | Base amount of the down payment |
actualDiscountAmount | float | ✔️ | Amount of the down payment |
Add an AccountingAccount
Detailinformationen zur Buchungsreferenz
public function addDocumentReceivableSpecifiedTradeAccountingAccount(
?string $id,
?string $typeCode
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ✔️ | BT-19, From BASIC WL Posting reference of the byuer. If required, this reference shall be provided by the Buyer to the Seller prior to the issuing of the Invoice. |
typeCode | string | ✔️ |
BT-X-290, From EXTENDED Type of the posting reference Allowed values: - 1 Financial - 2 Subsidiary - 3 Budget - 4 Cost Accounting - 5 Payable - 6 Job Cose Accounting |
Adds a new position (line) to document
public function addNewPosition(
string $lineid,
?string $lineStatusCode = null,
?string $lineStatusReasonCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineid | string | ❌ | BT-126, From BASIC A unique identifier for the relevant item within the invoice (item number) |
lineStatusCode | string | ✔️ | BT-??, From BASIC Indicates whether the invoice item contains prices that must be taken into account when calculating the invoice amount, or whether it only contains information. The following code should be used: TYPE_LINE |
lineStatusReasonCode | string | ✔️ |
BT-??, From BASIC Adds the type to specify whether the invoice line is: - detail (normal position) - Subtotal - Information only If the $lineStatusCode field is used, the LineStatusReasonCode field must use the following codes: - detail - grouping - information |
Adds a new text-only position (line) to document
public function addNewTextPosition(
string $lineid,
?string $lineStatusCode = null,
?string $lineStatusReasonCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineid | string | ❌ | A unique identifier for the relevant item within the invoice (item number) |
lineStatusCode | string | ✔️ | Indicates whether the invoice item contains prices that must be taken into account when calculating the invoice amount, or whether it only contains information. The following code should be used: TYPE_LINE |
lineStatusReasonCode | string | ✔️ | Adds the type to specify whether the invoice line is: - detail (normal position) - Subtotal - Information only If the $lineStatusCode field is used, the LineStatusReasonCode field must use the following codes: - detail - grouping - information |
Add detailed information on the free text on the position
public function setDocumentPositionNote(
?string $content,
?string $contentCode = null,
?string $subjectCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
content | string | ✔️ | BT-127, From BASIC A free text that contains unstructured information that is relevant to the invoice item |
contentCode | string | ✔️ | Text modules agreed bilaterally, which are transmitted here as code. |
subjectCode | string | ✔️ | Free text for the position (code for the type) Codelist: UNTDID 4451 |
Adds product details to the last created position (line) in the document
public function setDocumentPositionProductDetails(
string $name,
?string $description = null,
?string $sellerAssignedID = null,
?string $buyerAssignedID = null,
?string $globalIDType = null,
?string $globalID = null,
?string $industryAssignedID = null,
?string $modelID = null,
?string $batchID = null,
?string $brandName = null,
?string $modelName = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | BT-153, From BASIC A name of the item (item name) |
description | string | ✔️ | BT-154, From EN 16931 A description of the item, the item description makes it possible to describe the item and its properties in more detail than is possible with the item name. |
sellerAssignedID | string | ✔️ | BT-155, From EN 16931 An identifier assigned to the item by the seller |
buyerAssignedID | string | ✔️ | BT-156, From EN 16931 An identifier assigned to the item by the buyer. The article number of the buyer is a clear, bilaterally agreed identification of the product. It can, for example, be the customer article number or the article number assigned by the manufacturer. |
globalIDType | string | ✔️ | BT-157-1, From BASIC The scheme for $globalID |
globalID | string | ✔️ | BT-157, From BASIC Identification of an article according to the registered scheme (Global identifier of the product, GTIN, ...) |
industryAssignedID | string | ✔️ | BT-X-309, From EXTENDED ID assigned by the industry to the contained referenced product |
modelID | string | ✔️ | BT-X-533, From EXTENDED A unique model identifier for this product |
batchID | string | ✔️ | BT-X-534. From EXTENDED Identification of the batch (lot) of the product |
brandName | string | ✔️ | BT-X-535. From EXTENDED The brand name, expressed as text, for this product |
modelName | string | ✔️ | BT-X-536. From EXTENDED Model designation of the product |
Add extra characteristics to the formerly added product.
Contains information about the characteristics of the goods and services invoiced
public function addDocumentPositionProductCharacteristic(
string $description,
string $value,
?string $typecode = null,
?float $valueMeasure = null,
?string $valueMeasureUnitCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
description | string | ❌ | The name of the attribute or property of the product such as "Colour" |
value | string | ❌ | The value of the attribute or property of the product such as "Red" |
typecode | string | ✔️ | Type of product property (code). The codes must be taken from the UNTDID 6313 codelist. Available only in the Extended-Profile |
valueMeasure | float | ✔️ | Value of the product property (numerical measurand) |
valueMeasureUnitCode | string | ✔️ | Unit of measurement of the measurand - Codeliste: Rec. N°20 Vollständige Liste, In Recommendation N°20 Intro 2.a ist beschrieben, dass beide Listen kombiniert anzuwenden sind. - Codeliste: Rec. N°21 Vollständige Liste, In Recommendation N°20 Intro 2.a ist beschrieben, dass beide Listen kombiniert anzuwenden sind. |
Add detailed information on product classification
public function addDocumentPositionProductClassification(
string $classCode,
?string $className = null,
?string $listID = null,
?string $listVersionID = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
classCode | string | ❌ | A code for classifying the item by type or nature or essence or condition. Note: Classification codes are used to group similar items for different purposes, such as public procurement (using the Common Procurement Vocabulary [CPV]), e-commerce (UNSPSC), etc. |
className | string | ✔️ | Classification name |
listID | string | ✔️ | The identifier for the identification scheme of the identifier of the article classification Note: The identification scheme must be selected from the entries from UNTDID 7143. |
listVersionID | string | ✔️ | The version of the identification scheme |
Sets the detailed information on the product origin
public function setDocumentPositionProductOriginTradeCountry(string $country): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
country | string | ❌ |
BT-159, From EN 16931 The code indicating the country the goods came from Note: The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions”. |
Add detailed information on included products. This information relates to the
product that has just been added
public function addDocumentPositionReferencedProduct(
string $name,
?string $description = null,
?string $sellerAssignedID = null,
?string $buyerAssignedID = null,
?string $globalID = null,
?string $globalIDType = null,
?float $unitQuantity = null,
?string $unitCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | Item name |
description | string | ✔️ | Item description |
sellerAssignedID | string | ✔️ | Item number of the seller |
buyerAssignedID | string | ✔️ | Item number of the buyer Note: The identifier of the product is a unique, bilaterally agreed identification of the product. It can, for example, be the customer article number or the article number assigned by the manufacturer. |
globalID | string | ✔️ | Global identifier of the product Note: The global identifier of the product is a label uniquely assigned by the manufacturer, which is based on the rules of a global registration organization. |
globalIDType | string | ✔️ | Type of global item number In particular, the following codes can be used: * 0021: SWIFT * 0088: EAN * 0060: DUNS * 0177: ODETTE |
unitQuantity | float | ✔️ | Included quantity |
unitCode | string | ✔️ | Unit of measurement of the included quantity |
Set details of the related buyer order position
public function setDocumentPositionBuyerOrderReferencedDocument(
string $issuerassignedid,
string $lineid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | BT-13, From MINIMUM An identifier issued by the buyer for a referenced order (order number) |
lineid | string | ❌ | BT-132, From EN 16931 An identifier for a position within an order placed by the buyer. Note: Reference is made to the order reference at the document level. |
issueddate | DateTime | ✔️ | Date of order |
Set details of the related contract position
public function setDocumentPositionContractReferencedDocument(
string $issuerassignedid,
string $lineid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | The contract reference should be assigned once in the context of the specific trade relationship and for a defined period of time (contract number) |
lineid | string | ❌ | Identifier of the according contract position |
issueddate | DateTime | ✔️ | Contract date |
Add an additional Document reference on a position
Notes
- The documents justifying the invoice can be used to reference a document number, which should be
known to the recipient, as well as an external document (referenced by a URL) or an embedded document (such
as a timesheet as a PDF file). The option of linking to an external document is e.g. required when it comes
to large attachments and / or sensitive information, e.g. for personal services, which must be separated
from the bill
- Use ZugferdDocumentReader::firstDocumentAdditionalReferencedDocument and
ZugferdDocumentReader::nextDocumentAdditionalReferencedDocument to seek between multiple additional referenced
documents
public function addDocumentPositionAdditionalReferencedDocument(
string $issuerassignedid,
string $typecode,
?string $uriid = null,
?string $lineid = null,
?string $name = null,
?string $reftypecode = null,
?DateTime $issueddate = null,
?string $binarydatafilename = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | The identifier of the tender or lot to which the invoice relates, or an identifier specified by the seller for an object on which the invoice is based, or an identifier of the document on which the invoice is based. |
typecode | string | ❌ | Type of referenced document (See codelist UNTDID 1001) - Code 916 "reference paper" is used to reference the identification of the document on which the invoice is based - Code 50 "Price / sales catalog response" is used to reference the tender or the lot - Code 130 "invoice data sheet" is used to reference an identifier for an object specified by the seller. |
uriid | string | ✔️ | The Uniform Resource Locator (URL) at which the external document is available. A means of finding the resource including the primary access method intended for it, e.g. http: // or ftp: //. The location of the external document must be used if the buyer needs additional information to support the amounts billed. External documents are not part of the invoice. Access to external documents can involve certain risks. |
lineid | string | ✔️ | The referenced position identifier in the additional document |
name | string | ✔️ | A description of the document, e.g. Hourly billing, usage or consumption report, etc. |
reftypecode | string | ✔️ | The identifier for the identification scheme of the identifier of the item invoiced. If it is not clear to the recipient which scheme is used for the identifier, an identifier of the scheme should be used, which must be selected from UNTDID 1153 in accordance with the code list entries. |
issueddate | DateTime | ✔️ | Document date |
binarydatafilename | string | ✔️ | Contains a file name of an attachment document embedded as a binary object |
Add a referennce to a ultimate customer order referenced document
public function addDocumentPositionUltimateCustomerOrderReferencedDocument(
string $issuerassignedid,
string $lineid,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | |
lineid | string | ❌ | |
issueddate | DateTime | ✔️ |
Set the unit price excluding sales tax before deduction of the discount on the item price.
public function setDocumentPositionGrossPrice(
float $amount,
?float $basisQuantity = null,
?string $basisQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
amount | float | ❌ |
BT-148, From BASIC The unit price excluding sales tax before deduction of the discount on the item price. Note: If the price is shown according to the net calculation, the price must also be shown according to the gross calculation. |
basisQuantity | float | ✔️ | BT-149-1, From BASIC The number of item units for which the price applies (price base quantity) |
basisQuantityUnitCode | string | ✔️ | BT-150-1, From BASIC The unit code of the number of item units for which the price applies (price base quantity) |
Detailed information on surcharges and discounts on item gross price
public function addDocumentPositionGrossPriceAllowanceCharge(
float $actualAmount,
bool $isCharge,
?float $calculationPercent = null,
?float $basisAmount = null,
?string $reason = null,
?string $taxTypeCode = null,
?string $taxCategoryCode = null,
?float $rateApplicablePercent = null,
?float $sequence = null,
?float $basisQuantity = null,
?string $basisQuantityUnitCode = null,
?string $reasonCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
actualAmount | float | ❌ | BT-147, From BASIC Discount on the item price. The total discount subtracted from the gross price to calculate the net price. Note: Only applies if the discount is given per unit and is not included in the gross price. |
isCharge | bool | ❌ | BT-147-02, From BASIC Switch for surcharge/discount, if true then its an charge |
calculationPercent | float | ✔️ | __BT-??, From BASIC__Discount/surcharge in percent. Up to level EN16931, only the final result of the discount (ActualAmount) is transferred |
basisAmount | float | ✔️ | BT-??, From BASIC Base amount of the discount/surcharge |
reason | string | ✔️ | BT-??, From BASIC Reason for surcharge/discount (free text) |
taxTypeCode | string | ✔️ | BT-??, From BASIC |
taxCategoryCode | string | ✔️ | BT-??, From BASIC |
rateApplicablePercent | float | ✔️ | BT-??, From BASIC |
sequence | float | ✔️ | BT-??, From BASIC |
basisQuantity | float | ✔️ | BT-??, From BASIC |
basisQuantityUnitCode | string | ✔️ | BT-??, From BASIC |
reasonCode | string | ✔️ | BT-??, From BASIC |
Set detailed information on the net price of the item
public function setDocumentPositionNetPrice(
float $amount,
?float $basisQuantity = null,
?string $basisQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
amount | float | ❌ | BT-146, From BASIC Net price of the item |
basisQuantity | float | ✔️ | BT-149, From BASIC Base quantity at the item price |
basisQuantityUnitCode | string | ✔️ | BT-150, From BASIC Code of the unit of measurement of the base quantity at the item price |
Tax included for B2C on position level
public function setDocumentPositionNetPriceTax(
string $categoryCode,
string $typeCode,
float $rateApplicablePercent,
float $calculatedAmount,
?string $exemptionReason = null,
?string $exemptionReasonCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
categoryCode | string | ❌ | Coded description of a sales tax category The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta / Melilla) |
typeCode | string | ❌ | Coded description of a sales tax category. Note: Fixed value = "VAT" |
rateApplicablePercent | float | ❌ | The sales tax rate, expressed as the percentage applicable to the sales tax category in question. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
calculatedAmount | float | ❌ | The total amount to be paid for the relevant VAT category. Note: Calculated by multiplying the amount to be taxed according to the sales tax category by the sales tax rate applicable for the sales tax category concerned |
exemptionReason | string | ✔️ | Reason for tax exemption (free text) |
exemptionReasonCode | string | ✔️ | Reason given in code form for the exemption of the amount from VAT. Note: Code list issued and maintained by the Connecting Europe Facility. |
Set the position Quantity
public function setDocumentPositionQuantity(
float $billedQuantity,
string $billedQuantityUnitCode,
?float $chargeFreeQuantity = null,
?string $chargeFreeQuantityUnitCpde = null,
?float $packageQuantity = null,
?string $packageQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
billedQuantity | float | ❌ | BT-129, From BASIC The quantity of individual items (goods or services) billed in the relevant line |
billedQuantityUnitCode | string | ❌ |
BT-130, From BASIC The unit of measure applicable to the amount billed. Note: The unit of measurement must be taken from the lists from UN / ECE Recommendation No. 20 "Codes for Units of Measure Used in International Trade" and UN / ECE Recommendation No. 21 "Codes for Passengers, Types of Cargo, Packages and Packaging Materials (with Complementary Codes for Package Names)" using the UN / ECE Rec No. 20 Intro 2.a) can be selected. It should be noted that in most cases it is not necessary for buyers and sellers to fully implement these lists in their software. Sellers only need to support the entities necessary for their goods and services; Buyers only need to verify that the units used in the invoice match those in other documents (such as in Contracts, catalogs, orders and shipping notifications) match the units used. |
chargeFreeQuantity | float | ✔️ | Quantity, free of charge |
chargeFreeQuantityUnitCpde | string | ✔️ | Unit of measure code for the quantity free of charge |
packageQuantity | float | ✔️ | Number of packages |
packageQuantityUnitCode | string | ✔️ | Unit of measure code for number of packages |
Set detailed information on the different ship-to party at item level
public function setDocumentPositionShipTo(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The name of the party to whom the goods are being delivered or for whom the services are being performed. Must be used if the recipient of the goods or services is not the same as the buyer. |
id | string | ✔️ | An identifier for the place where the goods are delivered or where the services are provided. Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add a global id for the Ship-to Trade Party
public function addDocumentPositionShipToGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | The identifier is uniquely assigned to a party by a global registration organization. |
globalIDType | string | ✔️ | If the identifier is used for the identification scheme, it must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Ship-To Trade party
The local identification (defined by the party's address) of the party for tax purposes or a reference that enables the party
to indicate his reporting status for tax purposes The sales tax identification number of the party
Note: This information may affect how the buyer the invoice settled (such as in relation to social security contributions). So
e.g. In some countries, if the party is not reported for tax, the buyer will withhold the tax amount and pay it on behalf of the
party. Sales tax number with a prefixed country code. A supplier registered as subject to VAT must provide his sales tax
identification number, unless he uses a tax agent.
public function addDocumentPositionShipToTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the Ship-To party
public function setDocumentPositionShipToAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the product end users address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the product end users address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the product end users address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the product end users address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The product end users state |
Set legal organisation of the Ship-To party on item level
public function setDocumentPositionShipToLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the Ship-To party
public function setDocumentPositionShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact to the Ship-To party
public function addDocumentPositionShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Detailed information on the different end recipient
public function setDocumentPositionUltimateShipTo(
string $name,
?string $id = null,
?string $description = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
name | string | ❌ | The name of the party to whom the goods are being delivered or for whom the services are being performed. Must be used if the recipient of the goods or services is not the same as the buyer. |
id | string | ✔️ | An identifier for the party Multiple IDs can be assigned or specified. They can be differentiated by using different identification schemes. If no scheme is given, it should be known to the buyer and seller, e.g. a previously exchanged identifier assigned by the buyer or seller. |
description | string | ✔️ | Further legal information that is relevant for the party |
Add a global id for the Ship-to Trade Party
public function addDocumentPositionUltimateShipToGlobalId(
?string $globalID = null,
?string $globalIDType = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
globalID | string | ✔️ | Global identifier of the parfty |
globalIDType | string | ✔️ | Type of global identification number, must be selected from the entries in the list published by the ISO / IEC 6523 Maintenance Agency. |
Add Tax registration to Ship-To Trade party
public function addDocumentPositionUltimateShipToTaxRegistration(
?string $taxregtype = null,
?string $taxregid = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
taxregtype | string | ✔️ | Type of tax number of the seller (FC = Tax number, VA = Sales tax identification number) |
taxregid | string | ✔️ | Tax number of the seller or sales tax identification number of the seller |
Sets the postal address of the Ship-To party
public function setDocumentPositionUltimateShipToAddress(
?string $lineone = null,
?string $linetwo = null,
?string $linethree = null,
?string $postcode = null,
?string $city = null,
?string $country = null,
?string $subdivision = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineone | string | ✔️ | The main line in the party's address. This is usually the street name and house number or the post office box |
linetwo | string | ✔️ | Line 2 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
linethree | string | ✔️ | Line 3 of the party's address. This is an additional address line in an address that can be used to provide additional details in addition to the main line |
postcode | string | ✔️ | Identifier for a group of properties, such as a zip code |
city | string | ✔️ | Usual name of the city or municipality in which the party's address is located |
country | string | ✔️ | Code used to identify the country. If no tax agent is specified, this is the country in which the sales tax is due. The lists of approved countries are maintained by the EN ISO 3166-1 Maintenance Agency “Codes for the representation of names of countries and their subdivisions” |
subdivision | string | ✔️ | The party's state |
Set legal organisation of the Ship-To party
public function setDocumentPositionUltimateShipToLegalOrganisation(
?string $legalorgid,
?string $legalorgtype,
?string $legalorgname
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
legalorgid | string | ✔️ | An identifier issued by an official registrar that identifies the party as a legal entity or legal person. If no identification scheme ($legalorgtype) is provided, it should be known to the buyer or seller party |
legalorgtype | string | ✔️ | The identifier for the identification scheme of the legal registration of the party. In particular, the following scheme codes are used: 0021 : SWIFT, 0088 : EAN, 0060 : DUNS, 0177 : ODETTE |
legalorgname | string | ✔️ | A name by which the party is known, if different from the party's name (also known as the company name) |
Set contact of the Ship-To party
public function setDocumentPositionUltimateShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Add an additional contact of the Ship-To party. This is only supported in the
EXTENDED profile
public function addDocumentPositionUltimateShipToContact(
?string $contactpersonname,
?string $contactdepartmentname,
?string $contactphoneno,
?string $contactfaxno,
?string $contactemailadd
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
contactpersonname | string | ✔️ | Contact point for a legal entity, such as a personal name of the contact person |
contactdepartmentname | string | ✔️ | Contact point for a legal entity, such as a name of the department or office |
contactphoneno | string | ✔️ | Detailed information on the party's phone number |
contactfaxno | string | ✔️ | Detailed information on the party's fax number |
contactemailadd | string | ✔️ | Detailed information on the party's email address |
Detailed information on the actual delivery on item level
public function setDocumentPositionSupplyChainEvent(?DateTime $date): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
date | DateTime | ✔️ |
Detailed information on the associated shipping notification on item level
public function setDocumentPositionDespatchAdviceReferencedDocument(
string $issuerassignedid,
?string $lineid = null,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | |
lineid | string | ✔️ | |
issueddate | DateTime | ✔️ |
Detailed information on the associated shipping notification on item level
public function setDocumentPositionReceivingAdviceReferencedDocument(
string $issuerassignedid,
?string $lineid = null,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | |
lineid | string | ✔️ | |
issueddate | DateTime | ✔️ |
Detailed information on the associated delivery note on item level
public function setDocumentPositionDeliveryNoteReferencedDocument(
string $issuerassignedid,
?string $lineid = null,
?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
issuerassignedid | string | ❌ | |
lineid | string | ✔️ | |
issueddate | DateTime | ✔️ |
Add information about the sales tax that applies to the goods and services invoiced
in the relevant invoice line
public function addDocumentPositionTax(
string $categoryCode,
string $typeCode,
?float $rateApplicablePercent,
?float $calculatedAmount = null,
?string $exemptionReason = null,
?string $exemptionReasonCode = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
categoryCode | string | ❌ |
BT-151, From BASIC Coded description of a sales tax category The following entries from UNTDID 5305 are used (details in brackets): - Standard rate (sales tax is due according to the normal procedure) - Goods to be taxed according to the zero rate (sales tax is charged with a percentage of zero) - Tax exempt (USt./IGIC/IPSI) - Reversal of the tax liability (the rules for reversing the tax liability at USt./IGIC/IPSI apply) - VAT exempt for intra-community deliveries of goods (USt./IGIC/IPSI not levied due to rules on intra-community deliveries) - Free export item, tax not levied (VAT / IGIC/IPSI not levied due to export outside the EU) - Services outside the tax scope (sales are not subject to VAT / IGIC/IPSI) - Canary Islands general indirect tax (IGIC tax applies) - IPSI (tax for Ceuta / Melilla) applies. The codes for the VAT category are as follows: - S = sales tax is due at the normal rate - Z = goods to be taxed according to the zero rate - E = tax exempt - AE = reversal of tax liability - K = VAT is not shown for intra-community deliveries - G = tax not levied due to export outside the EU - O = Outside the tax scope - L = IGIC (Canary Islands) - M = IPSI (Ceuta / Melilla) |
typeCode | string | ❌ | BT-151-0, From BASIC In EN 16931 only the tax type “sales tax” with the code “VAT” is supported. Should other types of tax be specified, such as an insurance tax or a mineral oil tax the EXTENDED profile must be used. The code for the tax type must then be taken from the code list UNTDID 5153. |
rateApplicablePercent | float | ✔️ | BT-152, From BASIC The VAT rate applicable to the item invoiced and expressed as a percentage. Note: The code of the sales tax category and the category-specific sales tax rate must correspond to one another. The value to be given is the percentage. For example, the value 20 is given for 20% (and not 0.2) |
calculatedAmount | float | ✔️ | Tax amount. Information only for taxes that are not VAT. |
exemptionReason | string | ✔️ | Reason for tax exemption (free text) |
exemptionReasonCode | string | ✔️ | Reason given in code form for the exemption of the amount from VAT. Note: Code list issued and maintained by the Connecting Europe Facility. |
Set information about the period relevant for the invoice item.
Note: Also known as the invoice line delivery period.
public function setDocumentPositionBillingPeriod(?DateTime $startdate, ?DateTime $endDate): \ZugferdDocumentBuilder
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
startdate | DateTime | ✔️ | BT-134, From BASIC Start of the billing period |
endDate | DateTime | ✔️ | BT-135, From BASIC End of the billing period |
Add surcharges and discounts on position level
public function addDocumentPositionAllowanceCharge(
float $actualAmount,
bool $isCharge,
?float $calculationPercent = null,
?float $basisAmount = null,
?string $reasonCode = null,
?string $reason = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
actualAmount | float | ❌ | BT-136/BT-141, From BASIC The surcharge/discount amount excluding sales tax |
isCharge | bool | ❌ |
BT-27-1/BT-28-1, From BASIC (true for BT-/ and false for /BT-) Switch that indicates whether the following data refer to an allowance or a discount, true means that |
calculationPercent | float | ✔️ | BT-??, From BASIC The percentage that may be used in conjunction with the base invoice line discount amount to calculate the invoice line discount amount |
basisAmount | float | ✔️ | BT-??, From BASIC The base amount that may be used in conjunction with the invoice line discount percentage to calculate the invoice line discount amount |
reasonCode | string | ✔️ |
BT-140/BT-145, From BASIC The reason given as a code for the invoice line discount Notes - Use entries from the UNTDID 5189 code list (discounts) or the UNTDID 7161 code list (surcharges). The invoice line discount reason code and the invoice line discount reason must match. - In the case of a discount, the code list UNTDID 5189 must be used. - In the event of a surcharge, the code list UNTDID 7161 must be used. In particular, the following codes can be used: - AA = Advertising - ABL = Additional packaging - ADR = Other services - ADT = Pick-up - FC = Freight service - FI = Financing - LA = Labelling Include PEPPOL subset: - 41 - Bonus for works ahead of schedule - 42 - Other bonus - 60 - Manufacturer’s consumer discount - 62 - Due to military status - 63 - Due to work accident - 64 - Special agreement - 65 - Production error discount - 66 - New outlet discount - 67 - Sample discount - 68 - End-of-range discount - 70 - Incoterm discount - 71 - Point of sales threshold allowance - 88 - Material surcharge/deduction - 95 - Discount - 100 - Special rebate - 102 - Fixed long term - 103 - Temporary - 104 - Standard - 105 - Yearly turnover Codelists: UNTDID 7161 (Complete list), UNTDID 5189 (Restricted) |
reason | string | ✔️ |
BT-139/BT-144, From BASIC The reason given in text form for the invoice item discount/surcharge Notes - The invoice line discount reason code (BT-140) and the invoice line discount reason (BT-139) must show the same allowance type. - Each line item discount (BG-27) must include a corresponding line discount reason (BT-139) or an appropriate line discount reason code (BT-140), or both. - The code for the reason for the charge at the invoice line level (BT-145) and the reason for the invoice line discount (BT-144) must show the same discount type |
Set information on item totals
public function setDocumentPositionLineSummation(
float $lineTotalAmount,
?float $totalAllowanceChargeAmount = null
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
lineTotalAmount | float | ❌ |
BT-131, From BASIC The total amount of the invoice item. Note: This is the "net" amount, that is, excluding sales tax, but including all surcharges and discounts applicable to the item level, as well as other taxes. |
totalAllowanceChargeAmount | float | ✔️ | Total amount of item surcharges and discounts |
Add an AccountingAccount on item level
Detailinformationen zur Buchungsreferenz
public function addDocumentPositionReceivableSpecifiedTradeAccountingAccount(
string $id,
?string $typeCode
): \ZugferdDocumentBuilder {
}
Name | Type | Allows Null | Description |
---|---|---|---|
id | string | ❌ | BT-133, From COMFORT Posting reference of the byuer. If required, this reference shall be provided by the Buyer to the Seller prior to the issuing of the Invoice. |
typeCode | string | ✔️ |
BT-X-99, From EXTENDED Type of the posting reference Allowed values: - 1 Financial - 2 Subsidiary - 3 Budget - 4 Cost Accounting - 5 Payable - 6 Job Cose Accounting |
Returns the selected profile id
public function getProfileId(): int
{
}
Returns the profile definition
public function getProfileDefinition(): array
{
}
Get a parameter from profile definition
public function getProfileDefinitionParameter(string $parameterName): mixed
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
parameterName | string | ❌ |
Deserialize XML content to internal invoice object
public function deserialize(mixed $xmlContent): \horstoeko\zugferd\entities\basic\rsm\CrossIndustryInvoice|\horstoeko\zugferd\entities\basicwl\rsm\CrossIndustryInvoice|\horstoeko\zugferd\entities\en16931\rsm\CrossIndustryInvoice|\horstoeko\zugferd\entities\extended\rsm\CrossIndustryInvoice|\horstoeko\zugferd\entities\minimum\rsm\CrossIndustryInvoice
{
}
Name | Type | Allows Null | Description |
---|---|---|---|
xmlContent | mixed | ❌ |
Serialize internal invoice object as XML
public function serializeAsXml(): string
{
}
Serialize internal invoice object as JSON
public function serializeAsJson(): string
{
}