India

Invoice

Changes to generic fields

  • recipient.address.address.line1 is required.
  • recipient.address.address.line2 is required.
  • recipient.address.city is required.
  • recipient.address.state is required.
  • recipient.address.postalCode is required.
type Invoice {
  // ...all generic invoice fields
  recipient: RecipientIND;
  lines: InvoiceLineIND[];
  discount?: {
    type: DiscountTypeIND;
    value: string;
  };

  restrictions?: InvoiceRestrictionsIND;
  purchaseOrder?: {
    number: string;
    issued: string;
    linesIncluded?: number;
    identityCode?: string;
  };

  customInfo: {
    ind: {
      supplyType: SupplyType;
      recipientRepresentativeGSTIN: string;
      recipientRepresentativeName: string;
      recipientStateCode: string;
      docNumber?: string;
    };
}

type RecipientIND {
  // ...everything from Recipient
  code?: string;
  identityNumber?: string;
  email?: string;
  mobile?: string;
  address: AddressIND;
  representative?: TaxRepresentativeIND;
}
  
type AddressIND {
  // ...everything from Address
  postalCode: string;
}

type TaxRepresentativeIND {
  taxId?: string;
  phone?: string;
  email?: string;
}

type InvoiceLineIND {
  // ...everting from InvoiceLine
  serialNumber?: string;
  service: string;
  hsnCode: string;
  unit: string;
}

type DiscountTypeIND = 
  // Standard Manufacturer
  'SM' | 
  // Manufacturer's Goods
  'MG';

type InvoiceRestrictionsIND {
  article73: boolean;
}

type SupplyType = 
  // Business to Business
  'B2B' | 
  // Business to Consumer
  'B2C' | 
  // Export with Payment of Tax
  'EXPWP' | 
  // Export without Payment of Tax
  'EXPWOP' | 
  // Supply to SEZ with Payment of Tax
  'SEZWP' | 
  // Supply to SEZ without Payment of Tax
  'SEZWOP' | 
  // Deemed Export
  'DEXP';

Field information

Name

Type

Required

Description

ref

string

Yes

Sequential number of document, max 16 characters

recipient.code

string

No

Destination code for delivering - 7 characters (not necessary when ID number of recipient is included)

recipient.identityNumber

string

No

ID number for delivering

recipient.email

string

No

The customer's email address

recipient.mobile

string

No

The customer's mobile number

recipient.address.line1

string

Yes

Address line 1 (Street address/PO Box/Company name).

recipient.address.line2

string

Yes

Address line 2 (Apartment/Suite/Unit/Building).

recipient.address.city

string

Yes

City/District/Suburb/Town/Village.

recipient.address.state

string

Yes

State/County/Province/Region.

recipient.address.postalCode

string

Yes

ZIP or postal code

recipient.representative.taxId

string

No

Taxpayer ID of tax representative

recipient.representative.phone

string

No

Company phone of tax representative

recipient.representative.email

string

No

Company email of tax representative

lines[].serialNumber

string

No

Serial number of the item

lines[].service

string

Yes

Specify whether the line item is a service or not.
To indicate that the line item is a service, use

  • *"Yes","Y","True"or"1"**.
    This field is not case-sensitive.

lines[].hsnCode

string

Yes

To enter applicable HSN / SAC Code of Goods / Service

lines[].unit

string

Yes

To enter applicable HSN / SAC Code of Goods / Service

discount.type

string

No

One of 'SM' | 'MG'

discount.value

string

No

Discount amount

restrictions.article73

boolean

No

Restrictions that apply to MCK invoices

purchaseOrder.number

string

No

Number of the purchase order associated with the invoice

purchaseOrder.issued

string

No

Date of purchase order that led to invoice

purchaseOrder.linesIncluded

number

No

Number of lines from purchase order which are included in invoice (unless all are included)

purchaseOrder.identityCode

string

No

Identity code of the item from the purchase order contained in the invoice

customInfo.ind.supplyType

string

Yes

This will be the code to identify type of supply. B2B: Business to Business, B2C: Business to Consumer, SEZWP: To SEZ with Payment, SEZWOP: To SEZ without Payment, EXPWP: Export with Payment, EXPWOP: Export without Payment, DEXP: Deemed Export
One of 'B2B', 'B2C', 'EXPWP', 'EXPWOP', 'SEZWP', 'SEZWOP', 'DEXP'

customInfo.ind.recipientRepresentativeGSTIN

string

Yes

GSTIN of the Recipient, if available. URP: In case of exports or if supplies are made to unregistered persons

customInfo.ind.recipientRepresentativeName

string

Yes

Company name of tax representative

customInfo.ind.recipientStateCode

string

Yes

Recipient State Code.

customInfo.ind.docNumber

string

No

Sequential number of document

Example CSV file

Invoice - India.csv