Skip to content

ClassOverview ZugferdDocumentBuilder

HorstOeko edited this page Nov 16, 2024 · 25 revisions

horstoeko\zugferd\ZugferdDocumentBuilder

Class representing the document builder for outgoing documents

Methods

__toString

Summary

Receive the content as XML string

Signature

public function __toString(): string
{
}

createNew [static]

Summary

Creates a new ZugferdDocumentBuilder with profile $profile

Signature

public static function createNew(int $profileId): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
profileId int

initNewDocument

Summary

Initialized a new document with profile settings

Signature

public function initNewDocument(): \ZugferdDocumentBuilder
{
}

getContent

Summary

Write the content of a CrossIndustryInvoice object to a string

Signature

public function getContent(): string
{
}

getContentAsDomDocument

Summary

Write the content of a invoice object to a DOMDocument instance

Signature

public function getContentAsDomDocument(): \DOMDocument
{
}

getContentAsDomXPath

Summary

Write the content of a invoice object to a DOMXpath instance

Signature

public function getContentAsDomXPath(): \DOMXpath
{
}

writeFile

Summary

Write the content of a CrossIndustryInvoice object to a file

Signature

public function writeFile(string $xmlfilename): \ZugferdDocument
{
}

Parameters

Name Type Allows Null Description
xmlfilename string

setDocumentInformation

Summary

Set main information about this document

Signature

public function setDocumentInformation(
	string $documentno,
	string $documenttypecode,
	DateTime $documentdate,
	string $invoiceCurrency,
	?string $documentname = null,
	?string $documentlanguage = null,
	?DateTime $effectiveSpecifiedPeriod = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentBusinessProcess

Summary

Set grouping of business process information

Signature

public function setDocumentBusinessProcess(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.).

setDocumentGeneralPaymentInformation

Summary

Set general payment information

Signature

public function setDocumentGeneralPaymentInformation(
	?string $creditorReferenceID = null,
	?string $paymentReference = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setIsDocumentCopy

Summary

Mark document as a copy from the original one

Signature

public function setIsDocumentCopy(): \ZugferdDocumentBuilder
{
}

setIsTestDocument

Summary

Mark document as a test document

Signature

public function setIsTestDocument(): \ZugferdDocumentBuilder
{
}

setDocumentSummation

Summary

Document money summation

Signature

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 {
}

Parameters

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

initDocumentSummation

Summary

Initilize the main document summation

Signature

public function initDocumentSummation(): \ZugferdDocumentBuilder
{
}

setForeignCurrency

Summary

Sets a foreign currency (code) with the tax amount. The exchange rate
is calculated by tax amounts

Signature

public function setForeignCurrency(
	string $foreignCurrencyCode,
	float $foreignTaxAmount,
	?float $exchangeRate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentNote

Summary

Add a note to the docuzment

Signature

public function addDocumentNote(
	string $content,
	?string $contentCode = null,
	?string $subjectCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentBuyerReference

Summary

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).

Signature

public function setDocumentBuyerReference(?string $buyerreference): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
buyerreference string ✔️ BT-10, From MINIMUM An identifier assigned by the buyer and used for internal routing

setDocumentRoutingId

Summary

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.

Signature

public function setDocumentRoutingId(string $routingId): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
routingId string BT-10, From MINIMUM An identifier assigned by the buyer and used for internal routing

setDocumentSeller

Summary

Detailed information about the seller (=service provider)

Signature

public function setDocumentSeller(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentSellerId

Summary

Add an id to the document seller

Signature

public function addDocumentSellerId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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

addDocumentSellerGlobalId

Summary

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

Signature

public function addDocumentSellerGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentSellerTaxRegistration

Summary

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.

Signature

public function addDocumentSellerTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentSellerAddress

Summary

Sets detailed information on the business address of the seller

Signature

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 {
}

Parameters

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

setDocumentSellerLegalOrganisation

Summary

Set Organization details

Signature

public function setDocumentSellerLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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.

setDocumentSellerContact

Summary

Set detailed information on the seller's contact person

Signature

public function setDocumentSellerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentSellerContact

Summary

Add detailed information on the seller's contact person (EXTENDED Profile only)

Signature

public function addDocumentSellerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentSellerCommunication

Summary

Set the seller's electronic communication information

Signature

public function setDocumentSellerCommunication(?string $uriScheme, ?string $uri): \ZugferdDocumentBuilder
{
}

Parameters

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

setDocumentBuyer

Summary

Detailed information about the buyer (service recipient)

Signature

public function setDocumentBuyer(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentBuyerId

Summary

Add an id to the document buyer

Signature

public function addDocumentBuyerId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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

addDocumentBuyerGlobalId

Summary

Add a global id for the buyer

Signature

public function addDocumentBuyerGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentBuyerTaxRegistration

Summary

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.

Signature

public function addDocumentBuyerTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentBuyerAddress

Summary

Sets detailed information on the business address of the buyer

Signature

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 {
}

Parameters

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

setDocumentBuyerLegalOrganisation

Summary

Set legal organisation of the buyer party

Signature

public function setDocumentBuyerLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentBuyerContact

Summary

Set contact of the buyer party

Signature

public function setDocumentBuyerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentBuyerContact

Summary

Add detailed information on the buyers's contact person (EXTENDED Profile only)

Signature

public function addDocumentBuyerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentBuyerCommunication

Summary

Set the buyers's electronic communication information

Signature

public function setDocumentBuyerCommunication(?string $uriScheme, ?string $uri): \ZugferdDocumentBuilder
{
}

Parameters

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

setDocumentSellerTaxRepresentativeTradeParty

Summary

Sets the seller's tax representative trade party

Signature

public function setDocumentSellerTaxRepresentativeTradeParty(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentSellerTaxRepresentativeGlobalId

Summary

Add a global id for the Tax representative party

Signature

public function addDocumentSellerTaxRepresentativeGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentSellerTaxRepresentativeTaxRegistration

Summary

Add Tax registration to tax representative party

Signature

public function addDocumentSellerTaxRepresentativeTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentSellerTaxRepresentativeAddress

Summary

Sets the postal address of the tax representative party

Signature

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 {
}

Parameters

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

setDocumentSellerTaxRepresentativeLegalOrganisation

Summary

Set legal organisation of the tax representative party

Signature

public function setDocumentSellerTaxRepresentativeLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentSellerTaxRepresentativeContact

Summary

Set contact of the tax representative party

Signature

public function setDocumentSellerTaxRepresentativeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentSellerTaxRepresentativeContact

Summary

Add an additional contact to the tax representative party. This is only supported in
EXTENDED profile

Signature

public function addDocumentSellerTaxRepresentativeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentProductEndUser

Summary

Detailed information on the product end user (general information)

Signature

public function setDocumentProductEndUser(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentProductEndUserGlobalId

Summary

Add a global id for the Product Enduser Trade Party

Signature

public function addDocumentProductEndUserGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentProductEndUserTaxRegistration

Summary

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.

Signature

public function addDocumentProductEndUserTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentProductEndUserAddress

Summary

Sets the postal address of the Product Enduser party

Signature

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 {
}

Parameters

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

setDocumentProductEndUserLegalOrganisation

Summary

Set legal organisation of the Product Enduser party

Signature

public function setDocumentProductEndUserLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentProductEndUserContact

Summary

Set contact of the Product Enduser party

Signature

public function setDocumentProductEndUserContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentProductEndUserContact

Summary

Add an additional contact to the Product Enduser party. This is only supported in
EXTENDED profile

Signature

public function addDocumentProductEndUserContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentShipTo

Summary

Ship-To

Signature

public function setDocumentShipTo(
	?string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentShipTolId

Summary

Add an id to the Ship-to Trade Party

Signature

public function addDocumentShipTolId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentShipToGlobalId

Summary

Add a global id for the Ship-to Trade Party

Signature

public function addDocumentShipToGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentShipToTaxRegistration

Summary

Add Tax registration to Ship-To Trade party

Signature

public function addDocumentShipToTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentShipToAddress

Summary

Sets the postal address of the Ship-To party

Signature

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 {
}

Parameters

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

setDocumentShipToLegalOrganisation

Summary

Set legal organisation of the Ship-To party

Signature

public function setDocumentShipToLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentShipToContact

Summary

Set contact of the Ship-To party. All formerly assigned contacts will be
overwritten

Signature

public function setDocumentShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentShipToContact

Summary

Add a contact to the Ship-To party. This is actually only possible in
the EXTENDED profile

Signature

public function addDocumentShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentUltimateShipTo

Summary

Detailed information on the different end recipient

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentUltimateShipTo(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentUltimateShipToId

Summary

Add an id to the different end recipient party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentUltimateShipToId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentUltimateShipToGlobalId

Summary

Add a global id for the different end recipient party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentUltimateShipToGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentUltimateShipToTaxRegistration

Summary

Add Tax registration to the different end recipient party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentUltimateShipToTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentUltimateShipToAddress

Summary

Sets the postal address of the different end recipient

Notes
- This is only available in the EXTENDED profile

Signature

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 {
}

Parameters

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

setDocumentUltimateShipToLegalOrganisation

Summary

Set legal organisation of the different end recipient

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentUltimateShipToLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentUltimateShipToContact

Summary

Set contact of the different end recipient

Signature

public function setDocumentUltimateShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentUltimateShipToContact

Summary

Add an additional contact to the different end recipient. This is only supported in the
EXTENDED profile

Signature

public function addDocumentUltimateShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentShipFrom

Summary

Set detailed information of the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentShipFrom(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentShipFromId

Summary

Add an id to the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentShipFromId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentShipFromGlobalId

Summary

Add a global id for the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentShipFromGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentShipFromTaxRegistration

Summary

Add Tax registration to the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentShipFromTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentShipFromAddress

Summary

Sets the postal address of the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

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 {
}

Parameters

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

setDocumentShipFromLegalOrganisation

Summary

Set legal organisation of the deviating consignor party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentShipFromLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentShipFromContact

Summary

Set contact of the deviating consignor party

Signature

public function setDocumentShipFromContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentShipFromContact

Summary

Add an additional contact to the deviating consignor party. This is only supported in the
EXTENDED profile

Signature

public function addDocumentShipFromContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentInvoicer

Summary

Invoicer (Rechnungssteller)

Signature

public function setDocumentInvoicer(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentInvoicerId

Summary

Add an id to the Invoicer Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoicerId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentInvoicerGlobalId

Summary

Add a global id for the Invoicer Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoicerGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentInvoicerTaxRegistration

Summary

Add Tax registration to Invoicer Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoicerTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentInvoicerAddress

Summary

Sets the postal address of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

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 {
}

Parameters

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

setDocumentInvoicerLegalOrganisation

Summary

Set legal organisation of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentInvoicerLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentInvoicerContact

Summary

Set contact of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentInvoicerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentInvoicerContact

Summary

Add an additional contact to the ultimate Ship-from party

Signature

public function addDocumentInvoicerContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentInvoicee

Summary

Set detailed information on the different invoice recipient,

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentInvoicee(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentInvoiceeId

Summary

Add an id to the Invoicee Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoiceeId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentInvoiceeGlobalId

Summary

Add a global id for the Invoicee Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoiceeGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentInvoiceeTaxRegistration

Summary

Add Tax registration to Invoicer Trade Party

Notes
- This is only available in the EXTENDED profile

Signature

public function addDocumentInvoiceeTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentInvoiceeAddress

Summary

Sets the postal address of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

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 {
}

Parameters

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

setDocumentInvoiceeLegalOrganisation

Summary

Set legal organisation of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentInvoiceeLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentInvoiceeContact

Summary

Set contact of the ultimate Ship-from party

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentInvoiceeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentInvoiceeContact

Summary

Add an additional contact to the ultimate Ship-from party. This is only supported in the
EXTENDED profile

Signature

public function addDocumentInvoiceeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPayee

Summary

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.

Signature

public function setDocumentPayee(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPayeeId

Summary

Add an id to the payee trade party

Signature

public function addDocumentPayeeId(string $id): \ZugferdDocumentBuilder
{
}

Parameters

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.

addDocumentPayeeGlobalId

Summary

Add a global id for the payee trade party

Signature

public function addDocumentPayeeGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentPayeeTaxRegistration

Summary

Add Tax registration to payee trade party

Signature

public function addDocumentPayeeTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPayeeAddress

Summary

Sets the postal address of the payee trade party

Signature

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 {
}

Parameters

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

setDocumentPayeeLegalOrganisation

Summary

Set legal organisation of the payee trade party

Signature

public function setDocumentPayeeLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentPayeeContact

Summary

Set contact of the payee trade party

Signature

public function setDocumentPayeeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPayeeContact

Summary

Add an additional contact to the payee trade party. Note this is only supported in the
EXTENDED profile

Signature

public function addDocumentPayeeContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentDeliveryTerms

Summary

Set information on the delivery conditions

Note
- This is only available in the EXTENDED profile

Signature

public function setDocumentDeliveryTerms(?string $code): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
code string ✔️

setDocumentSellerOrderReferencedDocument

Summary

Set details of the associated order confirmation

Signature

public function setDocumentSellerOrderReferencedDocument(
	string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentBuyerOrderReferencedDocument

Summary

Set details of the related buyer order

Signature

public function setDocumentBuyerOrderReferencedDocument(
	?string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentContractReferencedDocument

Summary

Set details of the associated contract

Signature

public function setDocumentContractReferencedDocument(
	?string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentAdditionalReferencedDocument

Summary

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

Signature

public function addDocumentAdditionalReferencedDocument(
	string $issuerassignedid,
	string $typecode,
	?string $uriid = null,
	mixed $name = null,
	?string $reftypecode = null,
	?DateTime $issueddate = null,
	?string $binarydatafilename = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentInvoiceReferencedDocument

Summary

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. *

Signature

public function setDocumentInvoiceReferencedDocument(
	string $issuerassignedid,
	?string $typecode = null,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentInvoiceReferencedDocument

Summary

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. *

Signature

public function addDocumentInvoiceReferencedDocument(
	string $issuerassignedid,
	?string $typecode = null,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentProcuringProject

Summary

Set Details of a project reference

Signature

public function setDocumentProcuringProject(string $id, string $name = 'Project Reference'): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
id string BT-11, From EN 16931 Project Data
name string Project Name

addDocumentUltimateCustomerOrderReferencedDocument

Summary

Add a reference of the ultimate customer order

Signature

public function addDocumentUltimateCustomerOrderReferencedDocument(
	string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string
issueddate DateTime ✔️

setDocumentSupplyChainEvent

Summary

Set detailed information on the actual delivery

Signature

public function setDocumentSupplyChainEvent(?DateTime $date): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
date DateTime ✔️ BT-72, From BASIC WL Actual delivery time

setDocumentDespatchAdviceReferencedDocument

Summary

Set detailed information on the associated shipping notification

Signature

public function setDocumentDespatchAdviceReferencedDocument(
	?string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string ✔️ BT-16, From BASIC WL Shipping notification reference
issueddate DateTime ✔️ Shipping notification date

setDocumentReceivingAdviceReferencedDocument

Summary

Set detailed information on the associated goods receipt notification

Signature

public function setDocumentReceivingAdviceReferencedDocument(
	string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentDeliveryNoteReferencedDocument

Summary

Set detailed information on the associated delivery note

Notes
- This is only available in the EXTENDED profile

Signature

public function setDocumentDeliveryNoteReferencedDocument(
	string $issuerassignedid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string Delivery receipt number
issueddate DateTime ✔️ Delivery receipt date

addDocumentPaymentMean

Summary

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.

Signature

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 {
}

Parameters

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.

addDocumentPaymentMeanToCreditTransfer

Summary

Sets the document payment means to SEPA Credit Transfer
German translation: Überweisung

Signature

public function addDocumentPaymentMeanToCreditTransfer(
	string $payeeIban,
	?string $payeeAccountName = null,
	?string $payeePropId = null,
	?string $payeeBic = null,
	?string $paymentReference = null
): \ZugferdDocumentBuilder {
}

Parameters

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().

addDocumentPaymentMeanToDirectDebit

Summary

Sets the document payment means to SEPA Direct Debit

Signature

public function addDocumentPaymentMeanToDirectDebit(
	string $buyerIban,
	?string $creditorReferenceID = null
): \ZugferdDocumentBuilder {
}

Parameters

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().

addDocumentPaymentMeanToPaymentCard

Summary

Sets the document payment means to Payment card

Signature

public function addDocumentPaymentMeanToPaymentCard(
	string $cardType,
	string $cardId,
	?string $cardHolderName = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentTax

Summary

Add a VAT breakdown (at document level)

Signature

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 {
}

Parameters

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.

addDocumentTaxSimple

Summary

Add a VAT breakdown (at document level) in a more simple way

Signature

public function addDocumentTaxSimple(
	string $categoryCode,
	string $typeCode,
	float $basisAmount,
	float $calculatedAmount,
	?float $rateApplicablePercent = null
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentBillingPeriod

Summary

Get detailed information on the billing period

Signature

public function setDocumentBillingPeriod(
	?DateTime $startdate,
	?DateTime $endDate,
	?string $description
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentAllowanceCharge

Summary

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

Signature

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 {
}

Parameters

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

addDocumentLogisticsServiceCharge

Summary

Add a logistical service fees (On document level)

Signature

public function addDocumentLogisticsServiceCharge(
	string $description,
	float $appliedAmount,
	?array $taxTypeCodes = null,
	?array $taxCategoryCodes = null,
	?array $rateApplicablePercents = null
): \ZugferdDocumentBuilder {
}

Parameters

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)

addDocumentPaymentTerm

Summary

Add a payment term

Signature

public function addDocumentPaymentTerm(
	?string $description = null,
	?DateTime $dueDate = null,
	?string $directDebitMandateID = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDiscountTermsToPaymentTerms

Summary

Add discount Terms to last added payment term

Signature

public function addDiscountTermsToPaymentTerms(
	?float $calculationPercent = null,
	?DateTime $basisDateTime = null,
	?float $basisPeriodMeasureValue = null,
	?string $basisPeriodMeasureUnitCode = null,
	?float $basisAmount = null,
	?float $actualDiscountAmount = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentReceivableSpecifiedTradeAccountingAccount

Summary

Add an AccountingAccount
Detailinformationen zur Buchungsreferenz

Signature

public function addDocumentReceivableSpecifiedTradeAccountingAccount(
	?string $id,
	?string $typeCode
): \ZugferdDocumentBuilder {
}

Parameters

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

addNewPosition

Summary

Adds a new position (line) to document

Signature

public function addNewPosition(
	string $lineid,
	?string $lineStatusCode = null,
	?string $lineStatusReasonCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addNewTextPosition

Summary

Adds a new text-only position (line) to document

Signature

public function addNewTextPosition(
	string $lineid,
	?string $lineStatusCode = null,
	?string $lineStatusReasonCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionNote

Summary

Add detailed information on the free text on the position

Signature

public function setDocumentPositionNote(
	?string $content,
	?string $contentCode = null,
	?string $subjectCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionProductDetails

Summary

Adds product details to the last created position (line) in the document

Signature

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 {
}

Parameters

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

addDocumentPositionProductCharacteristic

Summary

Add extra characteristics to the formerly added product.

Contains information about the characteristics of the goods and services invoiced

Signature

public function addDocumentPositionProductCharacteristic(
	string $description,
	string $value,
	?string $typecode = null,
	?float $valueMeasure = null,
	?string $valueMeasureUnitCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentPositionProductClassification

Summary

Add detailed information on product classification

Signature

public function addDocumentPositionProductClassification(
	string $classCode,
	?string $className = null,
	?string $listID = null,
	?string $listVersionID = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionProductOriginTradeCountry

Summary

Sets the detailed information on the product origin

Signature

public function setDocumentPositionProductOriginTradeCountry(string $country): \ZugferdDocumentBuilder
{
}

Parameters

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”.

addDocumentPositionReferencedProduct

Summary

Add detailed information on included products. This information relates to the
product that has just been added

Signature

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 {
}

Parameters

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

setDocumentPositionBuyerOrderReferencedDocument

Summary

Set details of the related buyer order position

Signature

public function setDocumentPositionBuyerOrderReferencedDocument(
	string $issuerassignedid,
	string $lineid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionContractReferencedDocument

Summary

Set details of the related contract position

Signature

public function setDocumentPositionContractReferencedDocument(
	string $issuerassignedid,
	string $lineid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionAdditionalReferencedDocument

Summary

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

Signature

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 {
}

Parameters

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

addDocumentPositionUltimateCustomerOrderReferencedDocument

Summary

Add a referennce to a ultimate customer order referenced document

Signature

public function addDocumentPositionUltimateCustomerOrderReferencedDocument(
	string $issuerassignedid,
	string $lineid,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string
lineid string
issueddate DateTime ✔️

setDocumentPositionGrossPrice

Summary

Set the unit price excluding sales tax before deduction of the discount on the item price.

Signature

public function setDocumentPositionGrossPrice(
	float $amount,
	?float $basisQuantity = null,
	?string $basisQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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)

addDocumentPositionGrossPriceAllowanceCharge

Summary

Detailed information on surcharges and discounts on item gross price

Signature

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 {
}

Parameters

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

setDocumentPositionNetPrice

Summary

Set detailed information on the net price of the item

Signature

public function setDocumentPositionNetPrice(
	float $amount,
	?float $basisQuantity = null,
	?string $basisQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionNetPriceTax

Summary

Tax included for B2C on position level

Signature

public function setDocumentPositionNetPriceTax(
	string $categoryCode,
	string $typeCode,
	float $rateApplicablePercent,
	float $calculatedAmount,
	?string $exemptionReason = null,
	?string $exemptionReasonCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

setDocumentPositionQuantity

Summary

Set the position Quantity

Signature

public function setDocumentPositionQuantity(
	float $billedQuantity,
	string $billedQuantityUnitCode,
	?float $chargeFreeQuantity = null,
	?string $chargeFreeQuantityUnitCpde = null,
	?float $packageQuantity = null,
	?string $packageQuantityUnitCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionShipTo

Summary

Set detailed information on the different ship-to party at item level

Signature

public function setDocumentPositionShipTo(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionShipToGlobalId

Summary

Add a global id for the Ship-to Trade Party

Signature

public function addDocumentPositionShipToGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentPositionShipToTaxRegistration

Summary

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.

Signature

public function addDocumentPositionShipToTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionShipToAddress

Summary

Sets the postal address of the Ship-To party

Signature

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 {
}

Parameters

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

setDocumentPositionShipToLegalOrganisation

Summary

Set legal organisation of the Ship-To party on item level

Signature

public function setDocumentPositionShipToLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentPositionShipToContact

Summary

Set contact of the Ship-To party

Signature

public function setDocumentPositionShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionShipToContact

Summary

Add an additional contact to the Ship-To party

Signature

public function addDocumentPositionShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionUltimateShipTo

Summary

Detailed information on the different end recipient

Signature

public function setDocumentPositionUltimateShipTo(
	string $name,
	?string $id = null,
	?string $description = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionUltimateShipToGlobalId

Summary

Add a global id for the Ship-to Trade Party

Signature

public function addDocumentPositionUltimateShipToGlobalId(
	?string $globalID = null,
	?string $globalIDType = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

addDocumentPositionUltimateShipToTaxRegistration

Summary

Add Tax registration to Ship-To Trade party

Signature

public function addDocumentPositionUltimateShipToTaxRegistration(
	?string $taxregtype = null,
	?string $taxregid = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionUltimateShipToAddress

Summary

Sets the postal address of the Ship-To party

Signature

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 {
}

Parameters

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

setDocumentPositionUltimateShipToLegalOrganisation

Summary

Set legal organisation of the Ship-To party

Signature

public function setDocumentPositionUltimateShipToLegalOrganisation(
	?string $legalorgid,
	?string $legalorgtype,
	?string $legalorgname
): \ZugferdDocumentBuilder {
}

Parameters

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)

setDocumentPositionUltimateShipToContact

Summary

Set contact of the Ship-To party

Signature

public function setDocumentPositionUltimateShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionUltimateShipToContact

Summary

Add an additional contact of the Ship-To party. This is only supported in the
EXTENDED profile

Signature

public function addDocumentPositionUltimateShipToContact(
	?string $contactpersonname,
	?string $contactdepartmentname,
	?string $contactphoneno,
	?string $contactfaxno,
	?string $contactemailadd
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionSupplyChainEvent

Summary

Detailed information on the actual delivery on item level

Signature

public function setDocumentPositionSupplyChainEvent(?DateTime $date): \ZugferdDocumentBuilder
{
}

Parameters

Name Type Allows Null Description
date DateTime ✔️

setDocumentPositionDespatchAdviceReferencedDocument

Summary

Detailed information on the associated shipping notification on item level

Signature

public function setDocumentPositionDespatchAdviceReferencedDocument(
	string $issuerassignedid,
	?string $lineid = null,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string
lineid string ✔️
issueddate DateTime ✔️

setDocumentPositionReceivingAdviceReferencedDocument

Summary

Detailed information on the associated shipping notification on item level

Signature

public function setDocumentPositionReceivingAdviceReferencedDocument(
	string $issuerassignedid,
	?string $lineid = null,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string
lineid string ✔️
issueddate DateTime ✔️

setDocumentPositionDeliveryNoteReferencedDocument

Summary

Detailed information on the associated delivery note on item level

Signature

public function setDocumentPositionDeliveryNoteReferencedDocument(
	string $issuerassignedid,
	?string $lineid = null,
	?DateTime $issueddate = null
): \ZugferdDocumentBuilder {
}

Parameters

Name Type Allows Null Description
issuerassignedid string
lineid string ✔️
issueddate DateTime ✔️

addDocumentPositionTax

Summary

Add information about the sales tax that applies to the goods and services invoiced
in the relevant invoice line

Signature

public function addDocumentPositionTax(
	string $categoryCode,
	string $typeCode,
	?float $rateApplicablePercent,
	?float $calculatedAmount = null,
	?string $exemptionReason = null,
	?string $exemptionReasonCode = null
): \ZugferdDocumentBuilder {
}

Parameters

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.

setDocumentPositionBillingPeriod

Summary

Set information about the period relevant for the invoice item.

Note: Also known as the invoice line delivery period.

Signature

public function setDocumentPositionBillingPeriod(?DateTime $startdate, ?DateTime $endDate): \ZugferdDocumentBuilder
{
}

Parameters

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

addDocumentPositionAllowanceCharge

Summary

Add surcharges and discounts on position level

Signature

public function addDocumentPositionAllowanceCharge(
	float $actualAmount,
	bool $isCharge,
	?float $calculationPercent = null,
	?float $basisAmount = null,
	?string $reasonCode = null,
	?string $reason = null
): \ZugferdDocumentBuilder {
}

Parameters

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

setDocumentPositionLineSummation

Summary

Set information on item totals

Signature

public function setDocumentPositionLineSummation(
	float $lineTotalAmount,
	?float $totalAllowanceChargeAmount = null
): \ZugferdDocumentBuilder {
}

Parameters

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

addDocumentPositionReceivableSpecifiedTradeAccountingAccount

Summary

Add an AccountingAccount on item level
Detailinformationen zur Buchungsreferenz

Signature

public function addDocumentPositionReceivableSpecifiedTradeAccountingAccount(
	string $id,
	?string $typeCode
): \ZugferdDocumentBuilder {
}

Parameters

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

getProfileId

Summary

Returns the selected profile id

Signature

public function getProfileId(): int
{
}

getProfileDefinition

Summary

Returns the profile definition

Signature

public function getProfileDefinition(): array
{
}

getProfileDefinitionParameter

Summary

Get a parameter from profile definition

Signature

public function getProfileDefinitionParameter(string $parameterName): mixed
{
}

Parameters

Name Type Allows Null Description
parameterName string

deserialize

Summary

Deserialize XML content to internal invoice object

Signature

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
{
}

Parameters

Name Type Allows Null Description
xmlContent mixed

serializeAsXml

Summary

Serialize internal invoice object as XML

Signature

public function serializeAsXml(): string
{
}

serializeAsJson

Summary

Serialize internal invoice object as JSON

Signature

public function serializeAsJson(): string
{
}
Clone this wiki locally