Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1038 lines (1037 sloc) 36.9 KB
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://raw.githubusercontent.com/ausdigital/ausdigital-bill/master/resources/ausdigital-syn/2.0/spec/Invoice.json",
"type": "object",
"definitions": {
"InvoiceType": {
"description": "A document used to request payment.",
"additionalProperties": false,
"type": "object",
"required": ["id", "issueDate", "invoiceTypeCode", "accountingSupplierParty", "accountingCustomerParty", "legalMonetaryTotal", "invoiceLine"],
"properties": {
"ublExtensions": {
"description": "A container for all extensions present in the document.",
"$ref": "#/definitions/UBLExtensionsType"
},
"ublVersionID": {
"description": "Identifies the earliest version of the UBL 2 schema for this document type that defines all of the elements that might be encountered in the current instance.",
"type": "string"
},
"customizationID": {
"description": "Identifies a user-defined customization of UBL for a specific use. Identifies the specification of content and rules that apply to the transaction. Identifying the customisation/implementation guide/contextualization of the syntax message and its extension that applies to the invoice transaction, enables the receiver to apply the correct validation to the received document as well as to route the document to an appropriate service for processing.",
"type": "string"
},
"profileID": {
"description": "Identifies a user-defined profile of the customization of UBL being used. Identifies the DBC profile or business process context in which the transaction appears.",
"type": "string"
},
"profileExecutionID": {
"description": "Identifies an instance of executing a profile, to associate all transactions in a collaboration allowing control of its relation to other documents exchanged as part of the same process.",
"type": "string"
},
"id": {
"description": "An identifier for this document, assigned by the sender. An invoice identifier enables positive referencing the document instance for various purposes including referencing between documents that are part of the same process.",
"type": "string"
},
"copyIndicator": {
"description": "Indicates whether this document is a copy (true) or not (false). A copy indicator is used as part of duplicate detection detailing that this is a copy of a document previously and not a duplicate.",
"type": "boolean"
},
"issueDate": {
"format": "date",
"description": "The date, assigned by the sender, on which this document was issued. The date on which the Invoice was created.",
"type": "string"
},
"dueDate": {
"format": "date",
"description": "The date on which Invoice is due.",
"type": "string"
},
"invoiceTypeCode": {
"description": "A code signifying the type of the Invoice. The code used must be easily accessible and converted to English in accordance with terminology required by GST legislation.",
"type": "string"
},
"note": {
"minItems": 0,
"description": "Free-form text pertinent to this document, conveying information that is not contained explicitly in other structures. This can be notes or other similar information for which the invoice specification does not contain suitable qualified elements such as the terms of agreement for an RCTI.",
"type": "array",
"items": {
"type": "string"
}
},
"documentCurrencyCode": {
"description": "A code signifying the default currency for this document. For domestic Invoicing this will be Australian Dollars in the majority of cases, but it is possible to use other currencies.",
"type": "string"
},
"buyerReference": {
"description": "A reference provided by the buyer used for internal routing of the document. Identifies where the Buyer may allocate the relevant transaction in their financial reports.",
"type": "string"
},
"invoicePeriod": {
"minItems": 0,
"description": "A period to which the Invoice applies.",
"type": "array",
"items": {
"$ref": "#/definitions/PeriodType"
}
},
"orderReference": {
"description": "A reference to the Order with which this Invoice is associated. An Order is a Document used to order Items issued by the Buyer. To facilitate Invoice matching an Invoice may contain a reference to the Order that the invoice relates to. An invoice may only reference one Order.",
"type": "string"
},
"despatchDocumentReference": {
"minItems": 0,
"description": "A reference to a Despatch Advice associated with this document. A Document used to describe the sending of a delivery of Items.",
"type": "array",
"items": {
"$ref": "#/definitions/DocumentReferenceType"
}
},
"receiptDocumentReference": {
"minItems": 0,
"description": "A reference to a Receipt Advice associated with this document. A Document used to describe the acceptance of delivery of Items.",
"type": "array",
"items": {
"$ref": "#/definitions/DocumentReferenceType"
}
},
"contractDocumentReference": {
"minItems": 0,
"description": "A reference to a contract associated with this document. A business or trading agreement.",
"type": "array",
"items": {
"$ref": "#/definitions/DocumentReferenceType"
}
},
"additionalDocumentReference": {
"minItems": 0,
"description": "A reference to an additional document associated with this document. A previously issued Invoice.",
"type": "array",
"items": {
"$ref": "#/definitions/DocumentReferenceType"
}
},
"accountingSupplierParty": {
"description": "The accounting supplier party. The Party responsible for providing goods or services to the Buyer.",
"$ref": "#/definitions/SupplierPartyType"
},
"accountingCustomerParty": {
"description": "The accounting customer party. The Party that procures goods or services.",
"$ref": "#/definitions/CustomerPartyType"
},
"payeeParty": {
"description": "The payee. The Party that receives the Payment.",
"$ref": "#/definitions/PartyType"
},
"delivery": {
"minItems": 0,
"description": "A delivery associated with this document.",
"type": "array",
"items": {
"$ref": "#/definitions/DeliveryType"
}
},
"paymentMeans": {
"minItems": 0,
"description": "Expected means of payment.",
"type": "array",
"items": {
"$ref": "#/definitions/PaymentMeansType"
}
},
"allowanceCharge": {
"minItems": 0,
"description": "A discount or charge that applies to a price component.",
"type": "array",
"items": {
"$ref": "#/definitions/AllowanceChargeType"
}
},
"taxTotal": {
"minItems": 0,
"description": "The total amount of a specific type of tax.",
"type": "array",
"items": {
"$ref": "#/definitions/TaxTotalType"
}
},
"legalMonetaryTotal": {
"description": "The total amount payable on the Invoice, including Allowances, Charges, and Taxes.",
"$ref": "#/definitions/MonetaryTotalType"
},
"invoiceLine": {
"minItems": 1,
"description": "A line describing an invoice item.",
"type": "array",
"items": {
"$ref": "#/definitions/InvoiceLineType"
}
}
}
},
"UBLExtensionsType": {
"description": "A container for all extensions present in the document.",
"additionalProperties": false,
"type": "object",
"required": ["ublExtension"],
"properties": {
"ublExtension": {
"minItems": 1,
"description": "A single extension for private use.",
"type": "array",
"items": {
"$ref": "#/definitions/UBLExtensionType"
}
}
}
},
"UBLExtensionType": {
"description": "A single extension for private use.",
"additionalProperties": false,
"type": "object",
"required": ["extensionContent"],
"properties": {
"id": {
"description": "An identifier for the Extension assigned by the creator of the extension.",
"type": "string"
},
"name": {
"description": "A name for the Extension assigned by the creator of the extension.",
"type": "string"
},
"extensionAgencyID": {
"description": "An agency that maintains one or more Extensions.",
"type": "string"
},
"extensionAgencyName": {
"description": "The name of the agency that maintains the Extension.",
"type": "string"
},
"extensionVersionID": {
"description": "The version of the Extension.",
"type": "string"
},
"extensionAgencyURI": {
"description": "A URI for the Agency that maintains the Extension.",
"type": "string"
},
"extensionURI": {
"description": "A URI for the Extension.",
"type": "string"
},
"extensionReasonCode": {
"description": "A code for reason the Extension is being included.",
"type": "string"
},
"extensionReason": {
"description": "A description of the reason for the Extension.",
"type": "string"
},
"extensionContent": {
"description": "The definition of the extension content.",
"type": "string"
}
}
},
"IdentifierType": {
"description": "A character string to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects in the same scheme together with relevant supplementary information.",
"additionalProperties": false,
"type": "object",
"properties": {
"schemeDataURI": {
"format": "uri",
"description": "The Uniform Resource Identifier that identifies where the identification scheme data is located.",
"type": "string"
},
"schemeURI": {
"format": "uri",
"description": "The Uniform Resource Identifier that identifies where the identification scheme is located.",
"type": "string"
},
"schemeName": {
"description": "The name of the identification scheme.",
"type": "string"
},
"schemeAgencyID": {
"description": "The identification of the agency that maintains the identification scheme.",
"type": "string"
},
"schemeID": {
"description": "The identification of the identification scheme.",
"type": "string"
},
"value": {
"description": "The value of the identifier",
"type": "string"
},
"schemeVersionID": {
"description": "The version of the identification scheme.",
"type": "string"
},
"schemeAgencyName": {
"description": "The name of the agency that maintains the identification scheme.",
"type": "string"
}
}
},
"PeriodType": {
"description": "A class to describe a period of time.",
"additionalProperties": false,
"type": "object",
"properties": {
"startDate": {
"format": "date",
"description": "The date on which this period begins.",
"type": "string"
},
"endDate": {
"format": "date",
"description": "The date on which this period ends.",
"type": "string"
}
}
},
"DocumentReferenceType": {
"description": "A class to define a reference to a document.",
"additionalProperties": false,
"type": "object",
"required": ["id"],
"properties": {
"id": {
"description": "An identifier for the referenced document.",
"type": "string"
},
"documentType": {
"description": "The type of document being referenced, expressed as text.",
"type": "string"
},
"attachment": {
"description": "The referenced document as an attachment to the document from which it is referenced.",
"$ref": "#/definitions/AttachmentType"
}
}
},
"AttachmentType": {
"description": "A class to describe an attached document. An attachment can refer to an external document or be included with the document being exchanged.",
"additionalProperties": false,
"type": "object",
"properties": {
"embeddedDocumentBinaryObject": {
"description": "A binary large object containing an attached document.",
"$ref": "#/definitions/BinaryObjectType"
},
"externalReference": {
"description": "A reference to an attached document that is external to the document(s) being exchanged.",
"$ref": "#/definitions/ExternalReferenceType"
}
}
},
"BinaryObjectType": {
"description": "A set of finite-length sequences of binary octets.",
"additionalProperties": false,
"type": "object",
"required": ["mimeCode"],
"properties": {
"encodingCode": {
"description": "Specifies the decoding algorithm of the binary object.",
"type": "string"
},
"filename": {
"description": "The filename of the binary object.",
"type": "string"
},
"format": {
"description": "The format of the binary content.",
"type": "string"
},
"characterSetCode": {
"description": "The character set of the binary object if the mime type is text.",
"type": "string"
},
"value": {
"description": "The value of the binaryobject",
"type": "string"
},
"uri": {
"format": "uri",
"description": "The Uniform Resource Identifier that identifies where the binary object is located.",
"type": "string"
},
"mimeCode": {
"description": "The mime type of the binary object.",
"type": "string"
}
}
},
"ExternalReferenceType": {
"description": "A class to describe an external object, such as a document stored at a remote location.",
"additionalProperties": false,
"type": "object",
"properties": {
"uri": {
"description": "The Uniform Resource Identifier (URI) that identifies the external object as an Internet resource.",
"type": "string"
},
"documentHash": {
"description": "Document hash.",
"type": "string"
},
"hashAlgorithmMethod": {
"description": "Document hash algorithm method.",
"type": "string"
}
}
},
"SupplierPartyType": {
"description": "A class to describe a supplier party.",
"additionalProperties": false,
"type": "object",
"properties": {
"party": {
"description": "The supplier party itself.",
"$ref": "#/definitions/PartyType"
},
"sellerContact": {
"description": "The primary contact for this supplier party.",
"$ref": "#/definitions/ContactType"
}
}
},
"PartyType": {
"description": "A class to describe an organization, sub-organization, or individual fulfilling a role in a business process.",
"additionalProperties": false,
"type": "object",
"properties": {
"endpointID": {
"description": "An identifier for the end point of the routing service (e.g., EAN Location Number, GLN).",
"type": "string"
},
"partyIdentification": {
"minItems": 0,
"description": "An identifier for this party.",
"type": "array",
"items": {
"$ref": "#/definitions/PartyIDType"
}
},
"partyName": {
"minItems": 0,
"description": "A name for this party.",
"type": "array",
"items": {
"$ref": "#/definitions/PartyNameType"
}
},
"postalAddress": {
"description": "The party's postal address.",
"$ref": "#/definitions/AddressType"
},
"partyTaxScheme": {
"minItems": 0,
"description": "A tax scheme applying to this party.",
"type": "array",
"items": {
"$ref": "#/definitions/PartyTaxSchemeType"
}
},
"partyLegalEntity": {
"minItems": 0,
"description": "A description of this party as a legal entity.",
"type": "array",
"items": {
"$ref": "#/definitions/PartyLegalEntityType"
}
}
}
},
"PartyNameType": {
"description": "A class for defining the name of a party.",
"additionalProperties": false,
"type": "object",
"required": ["name"],
"properties": {
"name": {
"description": "The name of the party.",
"type": "string"
}
}
},
"AddressType": {
"description": "A class to define common information related to an address.",
"additionalProperties": false,
"type": "object",
"properties": {
"cityName": {
"description": "The name of a city, town, or village.",
"type": "string"
},
"postalZone": {
"description": "The postal identifier for this address according to the relevant national postal service, such as a ZIP code or Post Code.",
"type": "string"
},
"countrySubentity": {
"description": "The political or administrative division of a country in which this address is located, such as the name of its county, province, or state, expressed as text.",
"type": "string"
},
"addressLine": {
"minItems": 0,
"description": "An unstructured address line.",
"type": "array",
"items": {
"$ref": "#/definitions/AddressLineType"
}
},
"country": {
"description": "The country in which this address is situated.",
"type": "string"
}
}
},
"AddressLineType": {
"description": "A class to define an unstructured address line.",
"additionalProperties": false,
"type": "object",
"required": ["line"],
"properties": {
"line": {
"description": "An address line expressed as unstructured text.",
"type": "string"
}
}
},
"PartyTaxSchemeType": {
"description": "A class to describe a taxation scheme applying to a party.",
"additionalProperties": false,
"type": "object",
"required": ["taxScheme"],
"properties": {
"companyID": {
"description": "An identifier for the party assigned for tax purposes by the taxation authority.",
"$ref": "#/definitions/CompanyIDType"
},
"taxLevelCode": {
"description": "A code signifying the tax level applicable to the party within this taxation scheme.",
"type": "string"
},
"taxScheme": {
"description": "The taxation scheme applicable to the party.",
"type": "string"
}
}
},
"PartyLegalEntityType": {
"description": "A class to describe a party as a legal entity.",
"additionalProperties": false,
"type": "object",
"properties": {
"registrationName": {
"description": "The name of the party as registered with the relevant legal authority.",
"type": "string"
},
"companyID": {
"description": "An identifier for the party as registered within a company registration scheme.",
"$ref": "#/definitions/CompanyIDType"
}
}
},
"ContactType": {
"description": "A class to describe a contactable person or department in an organization.",
"additionalProperties": false,
"type": "object",
"properties": {
"id": {
"description": "An identifier for this contact.",
"type": "string"
},
"telephone": {
"description": "The primary telephone number of this contact.",
"type": "string"
},
"electronicMail": {
"description": "The primary email address of this contact.",
"type": "string"
}
}
},
"CustomerPartyType": {
"description": "A class to describe a customer party.",
"additionalProperties": false,
"type": "object",
"properties": {
"party": {
"description": "The customer party itself.",
"$ref": "#/definitions/PartyType"
},
"buyerContact": {
"description": "A customer contact for purchasing.",
"$ref": "#/definitions/ContactType"
}
}
},
"DeliveryType": {
"description": "A class to describe a delivery.",
"additionalProperties": false,
"type": "object",
"properties": {
"actualDeliveryDate": {
"format": "date",
"description": "The actual date of delivery.",
"type": "string"
},
"deliveryAddress": {
"description": "The delivery address.",
"$ref": "#/definitions/AddressType"
},
"deliveryParty": {
"description": "The party to whom the goods are delivered.",
"$ref": "#/definitions/PartyType"
}
}
},
"PaymentMeansType": {
"description": "A class to describe a means of payment.",
"additionalProperties": false,
"type": "object",
"required": ["paymentMeansCode"],
"properties": {
"id": {
"description": "An identifier for this means of payment.",
"type": "string"
},
"paymentMeansCode": {
"description": "A code signifying the type of this means of payment.",
"type": "string"
},
"instructionID": {
"description": "An identifier for the payment instruction.",
"type": "string"
},
"payerFinancialAccount": {
"description": "The payer's financial account.",
"$ref": "#/definitions/FinancialAccountType"
},
"payeeFinancialAccount": {
"description": "The payee's financial account.",
"$ref": "#/definitions/FinancialAccountType"
}
}
},
"FinancialAccountType": {
"description": "A class to describe a financial account.",
"additionalProperties": false,
"type": "object",
"properties": {
"id": {
"description": "The identifier for this financial account; the bank account number.",
"type": "string"
},
"financialInstitutionBranch": {
"description": "The branch of the financial institution associated with this financial account.",
"$ref": "#/definitions/BranchType"
}
}
},
"BranchType": {
"description": "A class to describe a branch or a division of an organization.",
"additionalProperties": false,
"type": "object",
"properties": {
"id": {
"description": "An identifier for this branch or division of an organization.",
"$ref": "#/definitions/BranchIDType"
},
"name": {
"description": "The name of this branch or division of an organization.",
"type": "string"
}
}
},
"AllowanceChargeType": {
"description": "A class to describe information about a charge or discount as applied to a price component.",
"additionalProperties": false,
"type": "object",
"required": ["chargeIndicator", "amount"],
"properties": {
"chargeIndicator": {
"description": "An indicator that this AllowanceCharge describes a charge (true) or a discount (false).",
"type": "boolean"
},
"allowanceChargeReasonCode": {
"description": "A mutually agreed code signifying the reason for this allowance or charge.",
"type": "string"
},
"allowanceChargeReason": {
"minItems": 0,
"description": "The reason for this allowance or charge.",
"type": "array",
"items": {
"type": "string"
}
},
"multiplierFactorNumeric": {
"description": "A number by which the base amount is multiplied to calculate the actual amount of this allowance or charge.",
"type": "number"
},
"amount": {
"description": "The monetary amount of this allowance or charge to be applied.",
"type": "number"
},
"baseAmount": {
"description": "The monetary amount to which the multiplier factor is applied in calculating the amount of this allowance or charge.",
"type": "number"
},
"taxCategory": {
"minItems": 0,
"description": "A tax category applicable to this allowance or charge.",
"type": "array",
"items": {
"$ref": "#/definitions/TaxCategoryType"
}
},
"taxTotal": {
"description": "The total of all the taxes applicable to this allowance or charge.",
"$ref": "#/definitions/TaxTotalType"
}
}
},
"TaxCategoryType": {
"description": "A class to describe one of the tax categories within a taxation scheme (e.g., High Rate VAT, Low Rate VAT).",
"additionalProperties": false,
"type": "object",
"required": ["taxScheme"],
"properties": {
"id": {
"description": "An identifier for this tax category.",
"type": "string"
},
"percent": {
"description": "The tax rate for this category, expressed as a percentage.",
"type": "number"
},
"taxExemptionReason": {
"minItems": 0,
"description": "The reason for tax being exempted, expressed as text.",
"type": "array",
"items": {
"type": "string"
}
},
"taxScheme": {
"description": "The taxation scheme within which this tax category is defined.",
"type": "string"
}
}
},
"TaxTotalType": {
"description": "A class to describe the total tax for a particular taxation scheme.",
"additionalProperties": false,
"type": "object",
"required": ["taxAmount"],
"properties": {
"taxAmount": {
"description": "The total tax amount for a particular taxation scheme, e.g., VAT; the sum of the tax subtotals for each tax category within the taxation scheme.",
"type": "number"
},
"taxSubtotal": {
"minItems": 0,
"description": "One of the subtotals the sum of which equals the total tax amount for a particular taxation scheme.",
"type": "array",
"items": {
"$ref": "#/definitions/TaxSubtotalType"
}
}
}
},
"TaxSubtotalType": {
"description": "A class to define the subtotal for a particular tax category within a particular taxation scheme, such as standard rate within VAT.",
"additionalProperties": false,
"type": "object",
"required": ["taxAmount", "taxCategory"],
"properties": {
"taxableAmount": {
"description": "The net amount to which the tax percent (rate) is applied to calculate the tax amount.",
"type": "number"
},
"taxAmount": {
"description": "The amount of this tax subtotal.",
"type": "number"
},
"taxCategory": {
"description": "The tax category applicable to this subtotal.",
"$ref": "#/definitions/TaxCategoryType"
}
}
},
"MonetaryTotalType": {
"description": "A class to define a monetary total.",
"additionalProperties": false,
"type": "object",
"required": ["payableAmount"],
"properties": {
"lineExtensionAmount": {
"description": "The monetary amount of an extended transaction line, net of tax and settlement discounts, but inclusive of any applicable rounding amount.",
"type": "number"
},
"taxExclusiveAmount": {
"description": "The monetary amount of an extended transaction line, exclusive of taxes.",
"type": "number"
},
"taxInclusiveAmount": {
"description": "The monetary amount including taxes; the sum of payable amount and prepaid amount.",
"type": "number"
},
"allowanceTotalAmount": {
"description": "The total monetary amount of all allowances.",
"type": "number"
},
"chargeTotalAmount": {
"description": "The total monetary amount of all charges.",
"type": "number"
},
"payableAmount": {
"description": "The amount of the monetary total to be paid.",
"type": "number"
}
}
},
"InvoiceLineType": {
"description": "A class to define a line in an Invoice.",
"additionalProperties": false,
"type": "object",
"required": ["id", "lineExtensionAmount", "item"],
"properties": {
"id": {
"description": "An identifier for this invoice line.",
"type": "string"
},
"note": {
"minItems": 0,
"description": "Free-form text conveying information that is not contained explicitly in other structures.",
"type": "array",
"items": {
"type": "string"
}
},
"invoicedQuantity": {
"description": "The quantity (of items) on this invoice line.",
"$ref": "#/definitions/QuantityType"
},
"lineExtensionAmount": {
"description": "The total amount for this invoice line, including allowance charges but net of taxes.",
"type": "number"
},
"accountingCost": {
"description": "The buyer's accounting cost centre for this invoice line, expressed as text.",
"type": "string"
},
"invoicePeriod": {
"minItems": 0,
"description": "An invoice period to which this invoice line applies.",
"type": "array",
"items": {
"$ref": "#/definitions/PeriodType"
}
},
"documentReference": {
"minItems": 0,
"description": "A reference to a document associated with this invoice line.",
"type": "array",
"items": {
"$ref": "#/definitions/DocumentReferenceType"
}
},
"allowanceCharge": {
"minItems": 0,
"description": "An allowance or charge associated with this invoice line.",
"type": "array",
"items": {
"$ref": "#/definitions/AllowanceChargeType"
}
},
"taxTotal": {
"minItems": 0,
"description": "A total amount of taxes of a particular kind applicable to this invoice line.",
"type": "array",
"items": {
"$ref": "#/definitions/TaxTotalType"
}
},
"item": {
"description": "The item associated with this invoice line.",
"$ref": "#/definitions/ItemType"
},
"price": {
"description": "The price of the item associated with this invoice line.",
"$ref": "#/definitions/PriceType"
}
}
},
"QuantityType": {
"description": "A counted number of non-monetary units possibly including fractions.",
"additionalProperties": false,
"type": "object",
"properties": {
"unitCode": {
"description": "The unit of the quantity",
"type": "string"
},
"value": {
"description": "The value of the quantity",
"type": "number"
}
}
},
"ItemType": {
"description": "A class to describe an item of trade. It includes a generic description applicable to all examples of the item together with optional subsidiary descriptions of any number of actual instances of the type.",
"additionalProperties": false,
"type": "object",
"properties": {
"description": {
"minItems": 0,
"description": "Text describing this item.",
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"description": "A short name optionally given to this item, such as a name from a catalogue, as distinct from a description.",
"type": "string"
},
"additionalInformation": {
"minItems": 0,
"description": "Further details regarding this item (e.g., the URL of a relevant web page).",
"type": "array",
"items": {
"type": "string"
}
},
"sellersItemIdentification": {
"description": "Identifying information for this item, assigned by the seller.",
"type": "string"
},
"standardItemIdentification": {
"description": "Identifying information for this item, assigned according to a standard system.",
"$ref": "#/definitions/ItemIDType"
},
"commodityClassification": {
"minItems": 0,
"description": "A classification of this item according to a specific system for classifying commodities.",
"type": "array",
"items": {
"$ref": "#/definitions/CommodityClassificationType"
}
},
"additionalItemProperty": {
"minItems": 0,
"description": "An additional property of this item.",
"type": "array",
"items": {
"$ref": "#/definitions/ItemPropertyType"
}
}
}
},
"CommodityClassificationType": {
"description": "A class to describe the classification of a commodity.",
"additionalProperties": false,
"type": "object",
"properties": {
"itemClassificationCode": {
"description": "A code signifying the trade classification of the commodity.",
"type": "string"
}
}
},
"ItemPropertyType": {
"description": "A class to describe a specific property of an item.",
"additionalProperties": false,
"type": "object",
"required": ["name"],
"properties": {
"name": {
"description": "The name of this item property.",
"type": "string"
},
"value": {
"description": "The value of this item property, expressed as text.",
"type": "string"
}
}
},
"PriceType": {
"description": "A class to describe a price, expressed in a data structure containing multiple properties (compare with UnstructuredPrice).",
"additionalProperties": false,
"type": "object",
"required": ["priceAmount"],
"properties": {
"priceAmount": {
"description": "The amount of the price.",
"type": "number"
},
"baseQuantity": {
"description": "The quantity at which this price applies.",
"$ref": "#/definitions/QuantityType"
}
}
},
"ItemIDType": {
"additionalProperties": false,
"type": "object",
"properties": {
"GTIN": {
"description": "GTIN.",
"type": "string"
}
}
},
"PartyIDType": {
"additionalProperties": false,
"type": "object",
"properties": {
"GLN": {
"description": "GLN.",
"type": "string"
},
"ABN": {
"description": "ABN.",
"type": "string"
}
}
},
"BranchIDType": {
"additionalProperties": false,
"type": "object",
"properties": {
"BSB": {
"description": "BSB.",
"type": "string"
}
}
},
"CompanyIDType": {
"additionalProperties": false,
"type": "object",
"properties": {
"GLN": {
"description": "GLN.",
"type": "string"
},
"ABN": {
"description": "ABN.",
"type": "string"
}
}
}
},
"properties": {
"Invoice": {
"$ref": "#/definitions/InvoiceType"
},
"_D": {
"type": "string",
"enum": ["urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"]
}
},
"required": ["Invoice"]
}