United Arab Emirates
Credit Note
Changes to generic fields
invoiceRefsis requiredlines[].unitis requiredrecipient.address.line1is requiredrecipient.address.cityis requiredrecipient.address.stateis requiredpaymentMeansis required excpet whencustomInfo.are.transactionType = 01customInfo.are.creditReasonCodeis required.
type Invoice {
// ...all generic credit note fields
invoiceRefs:string[];
dueDate?: string;
isSelfBilled?: boolean;
salesOrderRef?: string;
purchaseOrderRef?: string;
lines: [
{
// ...other line item fields
unit: UnitsOfMeasure;
itemType?: string;
vat:{
code: string;
exemptReason?: string;
exemptReasonCode?:string;
};
customInfo?:{
are:{
classificationCode?:string;
serviceAccountingCode?:string;
};
};
};
];
total: {
amount: number;
currency: string;
};
sender:{
// ...all other sender fields
address:{
line1:string;
line2?:string;
city:string:
state:string;
};
identification?:{
name:string;
value:string;
country?: string;
type: 'TL'|'EID'|'PAS'|'CD';
};
taxRepresentative?:{
name:string;
taxId: string;
address: {
country: string;
}
};
};
recipient:{
// ...all other recipient fields
address:{
line1:string;
line2?:string;
city:string:
state:string;
country:string;
};
peppolId?: {
endpointId: string;
};
identification?:{
name:string;
value:string;
country?: string;
type: 'TL'|'EID'|'PAS'|'CD';
};
taxRepresentative?:{
name:string;
taxId: string;
address: {
country: string;
}
};
customInfo:{
exchangeRate?:{
to: string;
from?: string;
rate: number;
},
are:{
transactionType?:['01'|'02'|'03'|'04'|'05'|'06'|'07'|'08'];
creditReasonCode: sting;
isUnregulatedBuyer?: boolean;
beneficiaryId?: string;
startDate?: string;
endDate?: string;
principalId?: string;
};
};
shipToParty?:{
name: string;
taxId: string;
address:{
line1: string;
line2?: string;
city: string;
state: string;
country: string;
postalCode?: string;
}
};
paymentMeans: [{
ref: string;
code: string;
account: {
iban?: string;
number?: string;
name: string;
branch: string;
};
card: {
pan: string;
network: string;
holderName: string;
};
}];
attachment: {
name: string;
contentType: 'application/pdf' | 'image/png' | 'image/jpeg' | 'text/csv' |
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'|
'application/vnd.oasis.opendocument.spreadsheet' ;
data: string;
};
};
Field information
| Name | Type | Required | Description |
|---|---|---|---|
invoiceRefs | string array | Yes | Invoices associated with this document. Only one invoice reference is allowed. |
dueDate | string (ISO 8601 date) | No | Due date of invoice |
isSelfBilled | boolean | No | Boolean indicating if the transaction should be treated as a self billed invoice or not. |
lines[].unit | string | Yes | A value from an enumerated list as outlined on Units of Measure |
lines[].itemCode | string | Conditional | Product unique identifier (e.g., barcode). Note: Required for Reverse charge line items. |
lines[].vat.code | string | Yes | A value from an enumerated list: S/Standard: Standard Rate E/Exempt: Exempt transactions Z/Zero rated: Zero rated transactions AE/Reverse Charge: VAT Reverse Charge O/Outside of scope: Services outside scope of tax / Not subject to tax |
lines[].vat.exemptReason | string | Conditional | If lines[].vat.code is E an exemption reason is required. |
lines[].vat.exemptReasonCode | string | Conditional | If If |
lines[].itemType | string | No | Line-item type. G: Goods S: Services B: Both |
lines[].customInfo.are | object | Conditional | An object classifying the item by its type or nature Note: Required if lines[].itemType specified |
lines[].customInfo.are.classificationCode | string | Conditional | A code for classifying the item by its type or nature. Required when lines[].itemType is G or Goods. |
lines[].customInfo.are.serviceAccountingCode | string | Conditional | A code for classifying the services based on its type or nature. Required when lines[].itemType is B or Both |
recipient.taxId | string | Yes | Recipient tax identification number (TRN/TIN/Passport number). |
recipient.address.line1 | string | Yes | Address line 1 (Street address/PO Box/Company name). |
recipient.address.city | string | Yes | City/District/Suburb/Town/Village. |
recipient.address.state | string | Yes | State/County/Province/Region/Subdivision. |
recipient.address.country | string | Yes | Three-letter country code (ISO 3166-1 alpha-3) |
recipient.address.postalCode | string | No | ZIP or postal code |
recipient.peppolId.endpointId | string | Conditional | Peppol ID of the recipient. Required if the recipient is registered on Peppol. |
recipient.identification | Object | Conditional | This object is required when recipient.identification.type is TL OR PAS |
recipient.identification.name | string | Yes | Recipients' legal registered name |
recipient.identification.value | string | Yes | Recipients' legal registration identifier value |
recipient.identification | Object | Conditional | This object is required when recipient.identification.type is TL OR PASNote: Required for export transactions |
recipient.identification.name | string | Yes | Recipients' legal registered name |
recipient.identification.value | string | Yes | Recipients' legal registration identifier value |
recipient.identification.type | string | Yes | Recipient legal registration identifier type specifying the nature of commercial registration number issued in UAE. It should be one of the following: |
recipient.identification.country | string | Conditional | Passport issuing three-letter country code (ISO 3166-1 alpha-3). Note: Required when recipient.identification.type = PAS |
recipient.taxRepresentative | Object | Conditional | For instances where a third-party tax representative is used. |
recipient.taxRepresentative.name | string | Yes | Name of Tax Representative |
recipient.taxRepresentative.taxId | string | Yes | Tax ID of Tax Representative |
recipient.taxRepresentative.address.country | string | Yes | Country of Tax Representative |
customInfo.are.transactionType | string array | Conditional | UAE special transaction types. A value from an enumerated list: Note: If not stated it will be treated as a standard transaction type. For 04 |
customInfo.are.beneficiaryId | string | No | Beneficiary ID. Note: Required when customInfo.are.transactionType = 01 |
customInfo.are.startDate | string (ISO 8601 date) | No | Invoice period start date. |
customInfo.are.endDate | string (ISO 8601 date) | No | Invoice period end date. |
customInfo.are.isUnregulatedBuyer | boolean | No | Indicates the buyer not subject to UAE e-invoicing regulations. |
customInfo.are.principalId | string | No | Principle ID (disclosed agent) Note: Required for Disclosed Agent Billing transactions |
customInfo.are.creditReasonCode | string | Yes | A code specifying the reason for the credit note as a whole.
|
customInfo.exchangeRate.to | string (ISO 4217) | Conditional | The currency you are converting to, typically the tax or reporting currency required by the country scheme. |
customInfo.exchangeRate.from | string (ISO 4217) | No | The currency you are converting from. |
customInfo.exchangeRate.rate | number | Conditional | The exchange rate applied, expressed as units of the to currency per one unit of the from currency. |
salesOrderRef | string | No | Sales order reference. An identifier of a referenced sales order, issued by the Seller. |
purchaseOrderRef | string | No | Purchase order reference. An identifier of a referenced purchase order, issued by the Buyer. |
shipToParty | Object | No | For instances where the ship-to party details differ and need to be explicitly stated. |
shipToParty.name | string | No | The name of the party to which the goods and services are delivered. |
shipToParty.taxId | string | No | TIN of the shipping recipient assigned by IRBM |
shipToParty.address.line1 | string | No | Deliver to address line 1. The main address line in an address. |
shipToParty.address.line2 | string | No | Deliver to address line 2. An additional address line in an address that can be used to give further details supplementing the main line. |
shipToParty.address.city | string | No | Deliver to city. The common name of the city, town or village, where the deliver to address is located. |
shipToParty.address.state | string | No | Deliver to country subdivision. The subdivision of a country. |
shipToParty.address.country | string | No | Deliver to country code. A code that identifies the country. |
shipToParty.address.postalCode | string | No | Deliver to post code. The identifier for an addressable group of properties according to the relevant postal service. |
paymentMeans | Object Array | Conditional | For instances where the payment means need to be explicitly stated. |
paymentMeans.ref | string | No | Remittance information A textual value used to establish a link between the payment and the Invoice, issued by the Seller. Used for creditor's critical reconciliation information. This information element helps the Seller to assign an incoming payment to the relevant payment process. |
paymentMeans.code | string | Yes | Payment means type code 01: Instrument not defined |
paymentMeans.account.iban | string | No | IBAN Payment account identifier A unique identifier of the financial payment account, at a payment service provider, to which payment should be made. This would be used instead of paymentMeans.account.number when provided. |
paymentMeans.account.number | string | No | Payment account identifier A unique identifier of the financial payment account, at a payment service provider, to which payment should be made. This will only be used if when no IBAN number was specified. |
paymentMeans.account.name | string | No | Payment account name The name of the payment account, at a payment service provider, to which payment should be made. |
paymentMeans.account.branch | string | No | The branch identifier for the payment service provider where a payment account is located. |
paymentMeans.card.pan | string | No | Payment card primary account number Example: |
paymentMeans.card.network | string | No | Card network like Visa or Mastercard |
paymentMeans.card.holderName | string | No | Payment card holder name The name of the payment card holder. |
attachments | Object Array | No | Array of attachment objects |
attachment.name | string | Yes | File Name |
attachment.contentType | string | Yes | File MIME type. Allowed values include:application/pdfimage/pngimage/jpegtext/csvapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.oasis.opendocument.spreadsheet |
attachment.data | string | Yes | Base64 encoded file content with a maximum size of 1MB |
notes | string | No | Any applicable or additional not |
Example CSV files
Updated about 13 hours ago