Generic Invoice

Invoice base

type Invoice {
  id: string;
  created: string;
  modified: string;
  status: InvoiceStatus;
  orgId: string;
  issued: string;
  ref: string;
  recipient?: Recipient;
  sender?: Sender;
  total: {
    amount: number;
    currency?: string;
  };
  lines: InvoiceLine[];
  taInvoiceRef?: string;
  error?: {
    name: string;
    message: string;
    description?: string;
  };
  invoiceSubmissionDate?: string;
  type?: InvoiceType;
}

type Recipient {
  taxId: string;
  name: string;
	address?: Address;
  contact?: {
    email?: string;
  };
}

type Sender {
  taxId: string;
  name: string;
	address?: Address;
  contact?: {
    email?: string;
  };
}

type Address {
  line1?: string;
  line2?: string;
  city?: string;
  state?: string;
  country: string;
  postalCode?: string;
}

type InvoiceLine {
  description: string;
  price: {
    amount: number;
  };
  quantity?: number;
  unit?: UnitsOfMeasure;
  vat: {
    amount: number;
    type: 'fixed' | 'percent';
    code: TaxCode;
  };
}
NameTypeRequiredDescription
idstring (System generated)NoUnique identifier for the invoice.
refstringYesSequential number of document
createdstring (System generated ISO 8601 date)NoThe timestamp when the invoice was created is in ISO 1806 format.
modifiedstring (System generated ISO 8601 date)NoThe timestamp when the invoice was last updated is in ISO 1806 format.
statusstring (System generated)NoA value from an enumerated list of types:
pending submission
success
error
orgIdstring (System generated)YesThe organisation issuing the invoice
issuedstring (ISO 8601 date)YesDate of document (issue date)
recipient.namestringYesCompany name or name and surname
recipient.taxIdstringYesTAX identification number.
recipient.contact.emailstringNoRecipient email address
recipient.address.line1stringNoAddress line 1 (Street address/PO Box/Company name).
recipient.address.line2stringNoAddress line 2 (Apartment/Suite/Unit/Building).
recipient.address.citystringNoCity/District/Suburb/Town/Village.
recipient.address.statestringNoState/County/Province/Region.
recipient.address.countrystringYesThree-letter country code (ISO 3166-1 alpha-3 ).
recipient.address.postalCodestringNoZIP or postal code
sender.namestringYesCompany name or name and surname
sender.taxIdstringYesTAX identification number.
sender.contact.emailstringNoRecipient email address
sender.address.line1stringNoAddress line 1 (Street address/PO Box/Company name).
sender.address.line2stringNoAddress line 2 (Apartment/Suite/Unit/Building).
sendert.address.citystringNoCity/District/Suburb/Town/Village.
sender.address.statestringNoState/County/Province/Region.
sendert.address.countrystringYesThree-letter country code (ISO 3166-1 alpha-3 ).
sender.address.postalCodestringNoZIP or postal code
total.amountnumberYesThe total amount of the document, including tax charged.
total.currencystringNoThree-letter currency code (ISO 4217-1 alpha-3 ). Defaults to organisation currency.
invoiceSubmissionDatestring (ISO 8601 date)NoDate of invoice
typestring (System generated)NoA value from an enumerated list of types:
Sent
Received
taInvoiceRefstring (System generated)NoA unique reference assigned by the Tax authority
lines[].descriptionstringYesDescription of the goods/service
lines[].price.amountnumberYesUnit price of the good or service.
lines[].quantitynumberNoQuantity of the good or service.
lines[].unitstringNoA value from an enumerated list as outlined on Units of Measure
lines[].vat.codestringYesA value from an enumerated list of types:
"Reverse charge": Vat Reverse Charge
"Exempt": Exempt from Tax
"Standard": Standard rate
"Zero rated": Zero-rated goods
"Free export": Free export item, VAT not charged
"Outside of scope": Services outside scope of tax
lines[].vat.typestringYesA value from an enumerated list of types:
"fixed"
"percent"
lines[].vat.amountnumberYesVAT percent or value per item.
errorstring map (System generated)NoWhen activation errors occur downstream, the transaction will have an Error status, with this error object providing more details.

{ status?: number; message: string; description?: string; }

Example CSV file

Invoice - Base.csv