<?php
namespace ModulesAbstract\ElectronicInvoice\UBL30Structure;

/**
 * cac:InvoiceLine, BG-25
 * A group of business terms providing information on individual Invoice lines.
 * @see https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-InvoiceLine/
 */
class InvoiceLine extends AbstractPeppolElement
{

	/**
	 * cbc:ID, MANDATORY tag
	 *
	 * Invoice line identifier
	 * A unique identifier for the individual line within the Invoice.
	 *
	 * Example value: 12
	 * @var mixed
	 */
	public $ID = null;

	/**
	 * cbc:Note, optional tag
	 *
	 * Invoice line note
	 * A textual note that gives unstructured information that is relevant to the Invoice line.
	 *
	 * Example value: New article number 12345
	 * @var mixed
	 */
	public $Note = null;

	/**
	 * cbc:InvoicedQuantity, MANDATORY tag
	 *
	 * Invoiced quantity
	 * The quantity of items (goods or services) that is charged in the Invoice line.
	 *
	 * Example value: 100
	 * @var mixed
	 */
	public $InvoicedQuantity = null;

	/**
	 * cbc:LineExtensionAmount, MANDATORY tag
	 *
	 * Invoice line net amount
	 * The total amount of the Invoice line. The amount is “net” without VAT, i.e. inclusive of line level allowances and
	 *   charges as well as other relevant taxes. Must be rounded to maximum 2 decimals.
	 *
	 * Example value: 2145.00
	 * @var mixed
	 */
	public $LineExtensionAmount = null;

	/**
	 * cbc:AccountingCost, optional tag
	 *
	 * Invoice line Buyer accounting reference
	 * A textual value that specifies where to book the relevant data into the Buyer's financial accounts.
	 *
	 * Example value: 1287:65464
	 * @var mixed
	 */
	public $AccountingCost = null;

	/**
	 * cac:InvoicePeriod, optional tag
	 *
	 * INVOICE LINE PERIOD
	 * A group of business terms providing information about the period relevant for the Invoice line.
	 * @var mixed
	 */
	public $InvoicePeriod = null;

	/**
	 * cac:OrderLineReference, optional tag
	 *
	 * ORDER LINE REFERENCE
	 *
	 * @var mixed
	 */
	public $OrderLineReference = null;

	/**
	 * cac:DocumentReference, optional tag
	 *
	 * LINE OBJECT IDENTIFIER
	 *
	 * @var mixed
	 */
	public $DocumentReference = null;

	/**
	 * cac:AllowanceCharge, list(0..n), optional tag
	 *
	 * INVOICE LINE ALLOWANCES OR CHARGES
	 * A group of business terms providing information about allowances or charges applicable to the individual Invoice line.
	 * @var mixed
	 */
	public $AllowanceCharge = null;

	/**
	 * cac:Item, MANDATORY tag
	 *
	 * ITEM INFORMATION
	 * A group of business terms providing information about the goods and services invoiced.
	 * @var mixed
	 */
	public $Item = null;

	/**
	 * cac:Price, MANDATORY tag
	 *
	 * PRICE DETAILS
	 * A group of business terms providing information about the price applied for the goods and services invoiced on the
	 *   Invoice line.
	 * @var mixed
	 */
	public $Price = null;

}
