Skip to content

Class ZugferdQuickDescriptor

HorstOeko edited this page Dec 15, 2024 · 8 revisions

Summary

Class representing the base class of all document descriptors.

Creating them in a simple and common way in EN16931 profile
This class is slightly inspired by the invoicedescriptor of the
https://github.com/stephanstapel/ZUGFeRD-csharp project

This class contains only basic functionality

Methods

doCreateNew [static]

Summary

Creates a new ZugferdDocumentBuilder with profile EN16931

Signature

public static function doCreateNew(): \ZugferdQuickDescriptor
{
}

Returns

Returns a value of type \ZugferdQuickDescriptor

doCreateInvoice

Summary

Create a new invoice

Signature

public function doCreateInvoice(
  string $invoiceNo,
  DateTime $invoiceDate,
  string $currency,
  ?string $invoiceNoReference = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
invoiceNo string BT-1, From MINIMUM The document no issued by the seller
invoiceDate DateTime BT-2, From MINIMUM Date of invoice. The date when the document was issued by the seller
currency string BT-5, From MINIMUM Code for the invoice currency
invoiceNoReference string ✔️ BT-83, From BASIC WL Intended use for payment

Returns

Returns a value of type \ZugferdQuickDescriptor

doCreateCreditMemo

Summary

Create a new credit memo

Signature

public function doCreateCreditMemo(
  string $creditMemoNo,
  DateTime $invoiceDate,
  string $currency,
  string $creditMemoNoReference = '',
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
creditMemoNo string BT-1, From MINIMUM The document no issued by the seller
invoiceDate DateTime BT-2, From MINIMUM Date of invoice. The date when the document was issued by the seller
currency string BT-5, From MINIMUM Code for the invoice currency
creditMemoNoReference string BT-83, From BASIC WL Intended use for refund. If null the number of the credit memo is used

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentTerms

Summary

Add a payment term

Signature

public function doSetPaymentTerms(string $description, ?DateTime $dueDate = null): \ZugferdQuickDescriptor
{
}

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.

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentMeansForDebitTransfer

Summary

Set payment means to "direct debit"

If $isSEPA is true code 31 wil be useed for payment means code.
If $isSEPA is false code 59 wil be useed for payment means code.

Signature

public function doSetPaymentMeansForDebitTransfer(bool $isSEPA, string $buyerIban): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
isSEPA bool 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:
buyerIban string BT-91, From BASIC WL The account to be debited by the direct debit

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentMeansForCreditTransfer

Summary

Set payment means to "credit transfer"

If $isSEPA is true code 58 wil be useed for payment means code.
If $isSEPA is false code 30 wil be useed for payment means code.

Signature

public function doSetPaymentMeansForCreditTransfer(
  bool $isSEPA,
  string $payeeIban,
  ?string $payeeAccountName = null,
  ?string $payeePropId = null,
  ?string $payeeBic = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
isSEPA bool 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:
payeeIban string BT-84, From BASIC WL A unique identifier for the financial account held with a payment service provider to which the payment should be made
payeeAccountName string ✔️ BT-85, From BASIC WL The name of the payment account held with a payment service provider to which the payment should be made
payeePropId string ✔️ BT-BT-84-0, From BASIC WL National account number (not for SEPA)
payeeBic string ✔️ BT-86, From EN 16931 An identifier for the payment service provider with which the payment account is held

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentMeansForBankCard

Summary

Set payment means to "Bank Card"

Signature

public function doSetPaymentMeansForBankCard(
  string $cardType,
  string $cardId,
  string $cardHolderName,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
cardType string The type of the card
cardId string BT-87, From EN 16931 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 BT-88, From EN 16931 Name of the payment card holder

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentMeansForCreditCard

Summary

Set payment means to "Credit Card"

Signature

public function doSetPaymentMeansForCreditCard(
  string $cardType,
  string $cardId,
  string $cardHolderName,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
cardType string The type of the card
cardId string BT-87, From EN 16931 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 BT-88, From EN 16931 Name of the payment card holder

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPaymentMeansForDebitCard

Summary

Set payment means to "Debit Card"

Signature

public function doSetPaymentMeansForDebitCard(
  string $cardType,
  string $cardId,
  string $cardHolderName,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
cardType string The type of the card
cardId string BT-87, From EN 16931 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 BT-88, From EN 16931 Name of the payment card holder

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddNote

Summary

Add note to the document

Signature

public function doAddNote(
  string $note,
  ?string $subjectCode = null,
  ?string $contentCode = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
note string BT-22, From BASIC WL A free text containing unstructured information that is relevant to the invoice as a whole
subjectCode string ✔️ BT-21, From BASIC WL The qualification of the free text for the invoice from BT-22
contentCode string ✔️ BT-X-5, From EXTENDED A code to classify the content of the free text of the invoice

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetBuyerOrderReferenceDocument

Summary

Set details of the related buyer order

Signature

public function doSetBuyerOrderReferenceDocument(string $orderNo, DateTime $orderDate): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
orderNo string BT-13, From MINIMUM An identifier issued by the buyer for a referenced order (order number)
orderDate DateTime BT-X-147, From EXTENDED Date of order

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddAdditionalReferencedDocument

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

Signature

public function doAddAdditionalReferencedDocument(
  string $issuerAssignedID,
  ?DateTime $issueDateTime = null,
  ?string $typeCode = null,
  ?string $name = null,
  ?string $referenceTypeCode = null,
  ?string $filename = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
issuerAssignedID string BT-122, From EN 16931 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.
issueDateTime DateTime ✔️ BT-X-149, From EXTENDED Document date
typeCode string ✔️ BT-122-0, From EN 16931 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.
name string ✔️ BT-123, From EN 16931 A description of the document, e.g. Hourly billing, usage or consumption report, etc.
referenceTypeCode 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.
filename string ✔️ BT-125, From EN 16931 Contains a file name of an attachment document embedded as a binary object

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetDeliveryNoteReferenceDocument

Summary

Set detailed information on the associated delivery note

Signature

public function doSetDeliveryNoteReferenceDocument(
  string $deliveryNoteNo,
  DateTime $deliveryNoteDate,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
deliveryNoteNo string BT-X-202, From EXTENDED Delivery slip number
deliveryNoteDate DateTime BT-X-203, From EXTENDED Delivery slip date

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetInvoiceReferencedDocument

Summary

Set a Reference to the previous invoice

Note: To be used if:
- a previous invoice is corrected
- reference is made to previous partial invoices from a final invoice
- Reference is made to previous invoices for advance payments from a final invoice

Signature

public function doSetInvoiceReferencedDocument(string $id, ?DateTime $issueDateTime = null): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
id string BT-25, From BASIC WL The identification of an invoice previously sent by the seller
issueDateTime DateTime ✔️ BT-26, From BASIC WL Date of the previous invoice

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetSpecifiedProcuringProject

Summary

Set Details of a project reference

Signature

public function doSetSpecifiedProcuringProject(string $id, string $name): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
id string BT-11, From EN 16931 The identifier of the project to which the invoice relates
name string BT-11-0, From EN 16931 The name of the project to which the invoice relates

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetSupplyChainEvent

Summary

Set detailed information on the actual delivery

Signature

public function doSetSupplyChainEvent(?DateTime $date): \ZugferdQuickDescriptor
{
}

Parameters

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

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetBuyer

Summary

Detailed information about the buyer (service recipient)

Signature

public function doSetBuyer(
  string $name,
  string $postcode,
  string $city,
  string $street,
  string $country,
  ?string $buyerReference = null,
  ?string $id = null,
  ?string $globalID = null,
  ?string $globalIDscheme = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
name string BT-44, From MINIMUM The full name of the buyer
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
street 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
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”
buyerReference string ✔️ BT-10, From MINIMUM An identifier assigned by the buyer and used for internal routing
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
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.
globalIDscheme 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.

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetBuyerContact

Summary

Set contact of the buyer party

Signature

public function doSetBuyerContact(
  string $name,
  ?string $orgunit = null,
  ?string $emailAddress = null,
  ?string $phoneno = null,
  ?string $faxno = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
name string BT-56, From EN 16931 Contact point for a legal entity, such as a personal name of the contact person
orgunit string ✔️ BT-56-0, From EN 16931 Contact point for a legal entity, such as a name of the department or office
emailAddress string ✔️ BT-58, From EN 16931 An e-mail address of the contact point
phoneno string ✔️ BT-57, From EN 16931 A telephone number for the contact point
faxno string ✔️ BT-X-115, From EXTENDED A fax number of the contact point

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddBuyerTaxRegistration

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 doAddBuyerTaxRegistration(string $no, string $schemeID): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
no string BT-48-0, From BASIC WL Type of tax number (FC = Tax number, VA = Sales tax identification number)
schemeID string BT-48, From BASIC WL Tax number or sales tax identification number

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetBuyerElectronicCommunication

Summary

Set Buyers electronic communication information

Signature

public function doSetBuyerElectronicCommunication(string $uri, string $uriScheme = 'EM'): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
uri string BT-49, From BASIC WL Specifies the buyer's electronic address to which the invoice is sent
uriScheme string BT-49-1, From BASIC WL The identifier for the identification scheme of the buyer's electronic address (Default: EM)

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetSeller

Summary

Detailed information about the seller (=service provider)

Signature

public function doSetSeller(
  string $name,
  string $postcode,
  string $city,
  string $street,
  string $country,
  ?string $id = null,
  ?string $globalID = null,
  ?string $globalIDscheme = null,
): \ZugferdQuickDescriptor
{
}

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)
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
street 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
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”
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
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.
globalIDscheme 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.

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetSellerContact

Summary

Set contact of the seller party

Signature

public function doSetSellerContact(
  string $name,
  ?string $orgunit = null,
  ?string $emailAddress = null,
  ?string $phoneno = null,
  ?string $faxno = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
name string BT-41, From EN 16931 Such as personal name, name of contact person or department or office
orgunit string ✔️ BT-41-0, From EN 16931 If a contact person is specified, either the name or the department must be transmitted.
emailAddress string ✔️ BT-43, From EN 16931 An e-mail address of the contact point
phoneno string ✔️ BT-42, From EN 16931 A telephone number for the contact point
faxno string ✔️ BT-X-107, From EXTENDED A fax number of the contact point

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddSellerTaxRegistration

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 doAddSellerTaxRegistration(string $no, string $schemeID): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
no string BT-31/32, From MINIMUM/EN 16931 Tax number of the seller or sales tax identification number of the seller
schemeID 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetSellerElectronicCommunication

Summary

Set Sellers electronic communication information

Signature

public function doSetSellerElectronicCommunication(string $uri, string $uriScheme = 'EM'): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
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
uriScheme string BT-34-1, From BASIC WL The identifier for the identification scheme of the seller's electronic address (Default: EM)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddTradeLineCommentItem

Caution

Deprecated 1.0.75

Summary

Add a new text position

Signature

public function doAddTradeLineCommentItem(string $lineId, string $comment): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
lineId string BT-126, From BASIC Identification of the invoice item
comment string BT-127, From BASIC A free text that contains unstructured information that is relevant to the invoice item

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddTradeLineItem

Summary

Adds a new position (line) to document

Signature

public function doAddTradeLineItem(
  string $lineId,
  string $productName,
  float $unitPrice,
  float $quantity,
  string $unitCode,
  float $allowanceChargeAmount,
  string $allowanceChargeReason,
  string $taxCategoryCode,
  string $taxTypeCode,
  float $taxPercent,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
lineId string BT-126, From BASIC Identification of the invoice item
productName string BT-153, From BASIC A name of the item (item name)
unitPrice float BT-146, From BASIC Net price of the item
quantity float BT-129, From BASIC The quantity of individual items (goods or services) billed in the relevant line
unitCode string BT-130, From BASIC The unit of measure applicable to the amount billed
allowanceChargeAmount float BT-136/BT-141, From BASIC The surcharge/discount amount excluding sales tax
allowanceChargeReason string BT-139/BT-144, From BASIC The reason given in text form for the invoice item discount/surcharge
taxCategoryCode string BT-151, From BASIC Coded description of a sales tax category
taxTypeCode 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.
taxPercent 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetDocumentPositionNote

Summary

Add detailed information on the free text on the position

Signature

public function doSetDocumentPositionNote(string $content): \ZugferdQuickDescriptor
{
}

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

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddTradeLineItemWithSurcharge

Summary

Adds a new position (line) to document with a surcharge amount

Signature

public function doAddTradeLineItemWithSurcharge(
  string $lineId,
  string $productName,
  float $unitPrice,
  float $chargeAmount,
  string $chargeReason,
  float $quantity,
  string $unitCode,
  string $taxCategoryCode,
  string $taxTypeCode,
  float $taxPercent,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
lineId string BT-126, From BASIC Identification of the invoice item
productName string BT-153, From BASIC A name of the item (item name)
unitPrice float BT-146, From BASIC Net price of the item
chargeAmount float BT-136/BT-141, From BASIC The surcharge amount excluding sales tax
chargeReason string BT-139/BT-144, From BASIC The reason given in text form for the invoice item surcharge
quantity float BT-129, From BASIC The quantity of individual items (goods or services) billed in the relevant line
unitCode string BT-130, From BASIC The unit of measure applicable to the amount billed
taxCategoryCode string BT-151, From BASIC Coded description of a sales tax category
taxTypeCode 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.
taxPercent 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddTradeLineItemWithDiscount

Summary

Adds a new position (line) to document with a discount amount

Signature

public function doAddTradeLineItemWithDiscount(
  string $lineId,
  string $productName,
  float $unitPrice,
  float $discountAmount,
  string $discountReason,
  float $quantity,
  string $unitCode,
  string $taxCategoryCode,
  string $taxTypeCode,
  float $taxPercent,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
lineId string BT-126, From BASIC Identification of the invoice item
productName string BT-153, From BASIC A name of the item (item name)
unitPrice float BT-146, From BASIC Net price of the item
discountAmount float BT-136/BT-141, From BASIC The discount amount excluding sales tax
discountReason string BT-139/BT-144, From BASIC The reason given in text form for the invoice item discount
quantity float BT-129, From BASIC The quantity of individual items (goods or services) billed in the relevant line
unitCode string BT-130, From BASIC The unit of measure applicable to the amount billed
taxCategoryCode string BT-151, From BASIC Coded description of a sales tax category
taxTypeCode 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.
taxPercent 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddLogisticsServiceCharge

Summary

Add a logistical service fees (On document level)

Signature

public function doAddLogisticsServiceCharge(
  float $amount,
  string $description,
  string $taxTypeCode,
  string $taxCategoryCode,
  float $taxPercent,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
amount float BT-X-272, From EXTENDED Amount of the service fee
description string BT-X-271, From EXTENDED Identification of the service fee
taxTypeCode string BT-X-273-0, From EXTENDED Code of the Tax type. Note: Fixed value = "VAT"
taxCategoryCode string BT-X-273, From EXTENDED Code of the VAT category
taxPercent float BT-X-274, From EXTENDED 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddTradeAllowanceCharge

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 doAddTradeAllowanceCharge(
  float $actualAmount,
  string $reason,
  string $taxCategoryCode,
  string $taxTypeCode,
  float $taxPercent,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
actualAmount float BT-92/BT-99, From BASIC WL Amount of the surcharge or discount at document level
reason string BT-97/BT-104, From BASIC WL The reason given in text form for the surcharge or discount at document level
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
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"
taxPercent 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)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddApplicableTradeTax

Summary

Add a VAT breakdown (at document level)

Signature

public function doAddApplicableTradeTax(
  float $basisAmount,
  float $percent,
  string $categoryCode,
  ?string $typeCode = null,
  ?float $allowanceChargeBasisAmount = null,
  ?string $exemptionReasonCode = null,
  ?string $exemptionReason = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
basisAmount float BT-116, From BASIC WL Tax base amount, Each sales tax breakdown must show a category-specific tax base amount.
percent 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)
categoryCode string BT-118, From BASIC WL Coded description of a sales tax category
typeCode string ✔️ BT-118-0, From BASIC WL Coded description of a sales tax category. Note: Fixed value = "VAT"
allowanceChargeBasisAmount float ✔️ BT-X-263, From EXTENDED Total amount Additions and deductions to the tax rate at document level
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.
exemptionReason string ✔️ BT-120, From BASIC WL Reason for tax exemption (free text)

Returns

Returns a value of type \ZugferdQuickDescriptor

doAddApplicableTradeTax2

Summary

Add a VAT breakdown (at document level)

Signature

public function doAddApplicableTradeTax2(
  float $basisAmount,
  float $calculatedAmount,
  string $categoryCode,
  ?string $typeCode = null,
  ?float $allowanceChargeBasisAmount = null,
  ?string $exemptionReasonCode = null,
  ?string $exemptionReason = null,
): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
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
categoryCode string BT-118, From BASIC WL Coded description of a sales tax category
typeCode string ✔️ BT-118-0, From BASIC WL Coded description of a sales tax category. Note: Fixed value = "VAT"
allowanceChargeBasisAmount float ✔️ BT-X-263, From EXTENDED Total amount Additions and deductions to the tax rate at document level
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.
exemptionReason string ✔️ BT-120, From BASIC WL Reason for tax exemption (free text)

Returns

Returns a value of type \ZugferdQuickDescriptor

doSetPrepaidAmount

Summary

Sets the prepaid amount

Signature

public function doSetPrepaidAmount(float $totalPrepaidAmount = 0.0): \ZugferdQuickDescriptor
{
}

Parameters

Name Type Allows Null Description
totalPrepaidAmount float BT-113, From BASIC WL Prepayment amount

Returns

Returns a value of type \ZugferdQuickDescriptor

Clone this wiki locally