Create Document (Non-Sale)
Request URL
Request Parameters
PARAMETER | TYPE | DESCRIPTION | EXAMPLE VALUE |
---|---|---|---|
X-Cleartax-Auth-Token | Header | Mandatory. The auth token generated from ClearTax user id and password. | 208c5df0-b252-4271-a23d- 61b384b58bfc |
gstin | Header | Mandatory. GSTIN number (Should be Empty for Cash Memo). GSTIN should be same as Seller GSTIN | 29AAFCD5862R000 |
pan | Header | Optional. PAN number | AAFCD5862R |
branch | Header | Optional. Branch Name | Bangalore |
document_type | Query | Document Type: CONSIGNMENT_NOTE | CONSIGNMENT_NOTE |
Request Payload Schema
PARAMETER | PARAMETER TYPE | DESCRIPTION |
---|---|---|
documentDetails | Object | Mandatory. This section includes parameters such as type of document, e-commerce provider’s GSTIN, tax currency code, timestamp,etc. |
sellerDetails | Object | Mandatory. This section includes parameters such as the name of the seller, GSTIN, contact details, the logo of the seller’s business, etc. |
dispatchDetails | Object | Optional. This section includes parameters such as the details of the person who dispatches the goods. |
buyerDetails | Object | Conditional. Buyer details object. Mandatory for Non-B2C transactions and Cash Memo. This section includes parameters such as the name of the buyer, GSTIN, contact details, place of supply, etc. |
shippingDetails | Object | Optional. This section includes the details of the person to whom the goods are to be shipped. |
exportDetails | Object | Optional. Export details object. This section includes parameters such as export duty, export country code/port code, shipping details, etc. It is required only in the case of exports. |
additionalDiscounts | List | Optional. This section includes parameters such as the discount amount and the reason for the same. Examples for an additional discount: Target discount, festival sale discount, etc. |
additionalCharges | List | Optional. This section includes parameters such as the additional charges amount and the reason for the same. An example for additional charges would be packing charges, insurance, freight etc. |
paymentInstrumentDetailsAndTerms | Object | Optional. This section includes parameters such as supplier’s bank account details, credit period, the interest rate in case of delay and other payment terms. |
paymentReceivedDetails | List | Optional. This section includes parameters such as payer’s name, payment mode, date of payment, amount paid, etc. |
metadata | Object | Mandatory. Additional metadata. This section includes parameters like terms and conditions for the document, notes, signature image, etc. |
referenceDocuments | Object | Conditional. Details of referenced documents. This section includes parameters related to the linked documents and order reference details. It is mandatory where credit notes, debit notes and refund notes are issued. |
additionalDocumentDetails | List | Optional. This section includes parameters such as attachment type (document/URL/QR code) and description of the same. |
lineItems | List | Mandatory. Line Items. This section includes parameters such as item serial number, item name, description, quantity, HSN code, tax rate, tax amount, etc. |
valueDetails | Object | Optional. Total Value Details. This section includes parameters related to total value details. |
shouldGenerateEInvoice | Boolean | Optional. This flag will be used to generate E-Invoice. If successful IRN or Payment QR Code will be returned else Error Details. |
Document Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
timestamp | DateTimeFormat (dd-MM-yyyy HH:mm:ss) | Date: minLength: 10 maxLength: 10, pattern: "^[0-3][0-9]\-[0-1][0-9]\-[2][0][1-2][0-9]$" Time: minLength: 8 maxLength: 8, Format: 24 hours Note: If time is unknown, then pass 00:00:00 | Mandatory. Date and time of the creation of the Invoice is recorded here. For eg.- 22-01-2022 02:30:45 It is proof of the moment or time that helps to know when the validity of the invoice starts. |
documentType | Document Type (ENUM) | Document Type : ENUM | Mandatory. A correct document type needs to be passed here. An invoice can be in different forms. For example, tax invoice, credit note, debit note, delivery challan, refund voucher, cash memo, advance receipt, etc. Each type of invoice has different usage. It is important to mention the type of document at the top to help identify it easily. |
orderId | String | Should be unique for each document. If repeated, will be considered a duplicate request. For example- 1001001112 Alphanumeric characters & special characters (/ . - ) are allowed. | Mandatory. OrderId. Order number or order ID is a unique number assigned to every order by the seller to keep track of it. It is useful to the seller to identify the order placed by the customer and find details for the same order depending on the data set up in their system. For example, if a customer places an order, the said order is assigned a unique number which is never assigned again to any other document. Even if there is a credit note or debit note for referring to the said order, the order ID of such documents will be different. Eg: If a user issues an invoice to the customer with order id ABC and later due to some changes a credit note has to be issued against it then the order id should be different such as XYZ |
documentNoPrefix | String | Alphabets and numbers are allowed here. You can also use special characters- “/”, “-”. The first character cannot be 0, “/”, “-” Prefix should end with a “/” or “-” Min length: 1 Max length: 10 For tax invoices, the maximum allowable length for a complete invoice number is 16 characters (Prefix + Serial number) | Mandatory. Document prefix. The document prefix should be passed here. It is a tag added at the beginning of the document number. It can be letters or numbers that can help further identify the transactions. A prefix in a document number makes them instantly recognisable. We will add the next incremental number to the prefix to create a complete invoice number. For example, a company can choose to enter prefix RJS/for its branches in Rajasthan and prefix GJR/for its Gujarat branches, In response, the invoice number will be RJS/456 or GJR/897 |
customFields | Custom Fields (List) | - | Optional. It is a section where the user can add any number of custom fields and put them in the object. |
Custom Fields
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
name | String | - | Optional. Name for the custom key. These are sample custom fields. In case the user wants to add certain information at the invoice level which should be printed on the invoice, the user can define their own custom fields and add in this object. Eg: if a maintenance company wants to add the sq ft. area of the property on the top of the invoice Or an insurance company wants to add the insurance number on top of the invoice. In these cases, the user can add any number of custom fields and put them in the object. |
value | String | - | Optional. Value for the custom key. |
Seller Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
tradeName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$". The characters can be alphanumeric or special characters. | Optional. Trade Name. Trade name of the supplier to be passed here. A trade name in GST is the name through which the business is normally called and the name used for advertising and marketing of the company. Eg.- ClearTax’s legal name is Defmacro Software Pvt. Ltd. However, it is normally known by ClearTax. |
legalName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory. Legal Name. The name entered at the time of the formation of the business or incorporation of the company should pass. |
address | Address (Object) | - | Mandatory. Address Details. This section includes parameters such as address line 1, line 2, pincode, state code, etc. |
gstin | String | minLength: 15 maxLength: 15 pattern: "([0-9]{2}[0-9A-Z]{13})" | Mandatory except for Cash Memo. GSTIN. The seller’s GSTIN should be tagged here. GSTIN is a unique 15-digit Goods and Services Tax Identification Number or GST registration number. The dealers who are registered under the GST law are provided with the GSTIN. |
pan | String | minLength: 10 maxLength: 10 pattern: "([0-9A-Z]{10})" | Optional. Seller’s Permanent Account Number (PAN) to be passed here. |
phone | String | minLength: 6 maxLength: 12 pattern: "^([0-9]{6,12})$" | Optional. Supplier’s phone number details to be passed here. |
String | minLength: 6 maxLength: 100 pattern: "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$" | Optional. Seller’s email ID details need to be passed here. Every invoice needs the business information on it, and apart from the business name, address, and phone number, the email address of the supplier is also necessary. | |
logoImage | String | The image URL or base64 of the image is to be passed here. | Optional. A logo image of the supplier is to be printed on the invoice. The logo image on the invoice helps make the document easily recognisable. The image provided is to be printed on the PDF. The image can be provided in 3 forms to the team: A static image during onboarding will be added to the settings of user. The URL of the image can be passed here. Base64 of the Image |
Address
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
line1 | String | minLength: 1 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory. Address Line 1. Primary address information of the business is required here. The document will show the first line of the address of the business in this field. If the address exceeds the maximum length, it can be continued in line 2. |
line2 | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Optional. Address Line 2. If the address is not completed in line 1, continue it in line 2. |
location | String | minLength: 3 maxLength: 50 pattern: "^([^\\\"])*$" | Mandatory. Location. City should be passed here. |
pincode | String | minimum: 100000 maximum: 999999 ENUM | Mandatory. The pincode number needs to be passed here. |
stateCode | String | Mandatory. The state code of the GSTIN needs to be passed here. |
Dispatch Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
gstin | String | minLength: 15 maxLength: 15 pattern: "([0-9]{2}[0-9A-Z]{13})" | Optional. GSTIN of the person dispatching the goods. |
pan | String | minLength: 10 maxLength: 10 pattern: "([0-9A-Z]{10})" | Optional. Permanent Account Number (PAN) of the person dispatching the goods. |
tradeName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Optional. Trade name of the entity dispatching the goods |
legalName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory. Legal name of the entity dispatching the goods |
address | Address (Object) | - | Conditional. This section includes parameters such as address line 1, line 2, pincode, state code, etc. This is required only if the ‘dispatch from’ address is different from the seller’s address. It is not applicable for advance receipt of the goods. |
Buyer Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
name | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory for B2B, EXPWP, EXPWOP, SEZWP, SEZWOP, DEXP Optional for B2C, BOS and Cash Memo |
tradeName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Optional. A trade name in GST is the name through which the business is normally called and the name used for advertising and marketing of the company. |
legalName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Conditional (Mandatory for non B2C). Legal Name of the buyer. The name entered at the time of the formation of the business or incorporation of the company should pass. |
address | Address (Object) | Conditional (Mandatory for non B2C). Address Details. This section includes parameters such as address line 1, line 2, pincode, state code, etc. | |
gstin | String | minLength: 15 maxLength: 15 pattern: "([0-9]{2}[0-9A-Z]{13})". For export buyer’s, GSTIN should be “URP” | Optional. GSTIN of the buyer. GSTIN is a unique 15-digit Goods and Services Tax Identification Number or GST registration number. |
pan | String | minLength: 10 maxLength: 10 pattern: "([0-9A-Z]{10})" | Optional. Buyer’s Permanent Account Number (PAN). |
phone | String | minLength: 6 maxLength: 12 pattern: "^([0-9]{6,12})$" | Optional. Buyer’s phone number. |
String | minLength: 6 maxLength: 100 pattern: "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$" | Optional. Email of the buyer. | |
placeOfSupply | String | Mandatory . The place of supply of the goods or services should be passed here. The place of supply of goods or services under GST decides whether the transaction should be considered as intrastate to charge CGST & SGST/UTGST or considered as interstate to charge IGST. |
Shipping Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
name | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Optional. Name of the person to whom the goods are shipped. |
tradeName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Optional. Trade name of the organisation shipping the goods. A trade name in GST is the name through which the business is normally called and the name used for advertising and marketing of the company. |
legalName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory. The legal name of the person to whom the goods are shipped. The name entered at the time of the formation of the business or incorporation of the company (customer) should pass. |
address | Address (Object) | - | Conditional. This section includes parameters such as address line 1, line 2, pincode, state code, etc. This is required only if the ‘ship to’ address is different from the buyer’s address. It is not applicable for advance receipt of the goods. |
gstin | String | minLength: 15 maxLength: 15 pattern: "([0-9]{2}[0-9A-Z]{13})" | Optional. GSTIN of the person to whom the goods are shipped. |
phone | String | minLength: 6 maxLength: 12 pattern: "^([0-9]{6,12})$" | Optional. Phone numbers of individuals who receive the shipped goods |
pan | String | minLength: 10 maxLength: 10 pattern: "([0-9A-Z]{10})" | Optional. Permanent Account Number (PAN) of individuals who receive the shipped goods. |
Additional Charges
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
reason | Reason | Alpha-Numeric value | Optional. The reason for additional charges levied to the customer should be passed here. For example, Shipping charges or Packing Charges etc. |
amount | Decimal | Only Numeric | Optional. Additional charges. |
Invoice Metadata Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
termsAndCondition | String | Optional. Terms and conditions for printing on the document to be passed here. | |
notes | String | Optional. Notes for the invoice should be passed here. | |
documentLinkingId | String | All documents created and linked on the “Linked Document Schema” should have the same documentLinkingId | Optional. For all the documents that are linked in the “Linked Document Schema” you can use this field as an alias to search for all related documents. Eg: your company might have a Job id or Project id and all documents created against it are linked. You could use the same alias here and use it to search all documents related to that Job or Project. |
signatureImage | String | The signature image should be provided | Optional. Signature image of the supplier should be passed here. The image can be provided in 3 forms to the team: A static image during onboarding will be added to the settings of user. The URL of the image can be passed here. Base64 of the image. |
printTemplateId | String | Note : Custom Print Template ID please reachout to ClearTax Support | Optional. You will be provided with a unique printTemplateid for your documents. Where all the information is printed on that template id. Please request the engineering team at Clear for the respective value. |
Reference Document Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
linkedDocumentsDetails | List | minLength: 1 maxLength: 16. It should end with "/" or "-" only. | Conditional. It is a conditional field. This section includes parameters related such as document type, document number and document date of the original Invoice. Mandatory for Credit Note, Debit Note and Refund Notes |
orderReferenceDetails | List | Optional. This section includes parameters such as contract reference number, purchase order reference number, project reference number, etc. |
Linked Document Details
PARAMETER | PARAMTER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
documentNumber | String | minLength: 1 maxLength: 16. It should end with "/" or "-" only. The first letter cannot be 0, “/”, “-”. | Mandatory. The document number of the documents linked with the transaction should be passed here. Use this field to link connected documents to each other. Eg: Invoice 1234 could be connected to Credit Note 4567 and an Advance Voucher of 7890. |
documentDate | Date (dd-MM-yyyy) | minLength: 10 maxLength: 10, pattern: "^[0-3][0-9]\/[0-1][0-9]\/[2][0][1-2][0-9]$". Mandatory for Credit Notes,Debit Notes and Refund Notes. Future dates are not acceptable. For Eg: DD-MM-YYYY | Optional. The date of the documents linked with the transaction should be passed here. Use this field to link connected documents to each other. Eg: Invoice 1234 could be connected to Credit Note 4567 and an Advance Voucher of 7890. |
documentNumberType | Document Type (ENUM) | Document Type : Invoice, Credit Note, Debit Note | Mandatory. The type of the document linked should be passed here. It can be an Invoice, Cash Memo, Credit Note, etc. Use this field to link connected documents to each other. Eg: Invoice 1234 could be connected to Credit Note 4567 and an Advance Voucher of 7890. |
Order Reference Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
receiptAdviceNo | String | minLength: 1 maxLength: 20 pattern: "^([^\\\"])*$" The characters can be alphanumeric | Optional. Receipt advice number of goods supplied should be passed here. |
receiptAdviceDate | Date (dd-MM-yyyy) | minLength: 10 maxLength: 10 pattern: "^[0-3][0-9]\-[0-1][0-9]\-[2][0][1-2][0-9]$" | Optional. Receipt advice date of the goods supplied should be passed here. |
Additional Document Details
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
id | String | - | Optional. ID |
attachmentType | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" The attachment type can be URL, doc, QR code. | Mandatory. The attachment type should be passed here. The attachment type can be URL or doc or QR code. |
value | String | - | Mandatory. Value. |
description | String | minLength: 3 maxLength: 1000 pattern: "^([^\\\"])*$" | Optional. Description of the additional document attached should be passed here. |
Line Item Details
Either of Price per unit and Quantity or Taxable Amount should be Present.
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
serialNumber | Number | minLength: 1 maxLength: 6 pattern: "^([0-9]{1,6})$" | Optional. The serial number of items should be entered. Ideally start with 1 to the number of items to be put in the invoice. |
name | String | Min length: 3 Max length: 3006 Pattern: "^([^\"])*$" | Mandatory. The name of the item should be passed here. It will be the data that should be shown in the invoice item table |
description | String | minLength: 3 maxLength: 300 pattern: "^([^\\\"])*$" If not provided, then it will be blank. | Optional. The item description should be passed here. Examples for the description would be refrigerators, televisions, washing machines, etc. |
isService | Boolean | minLength: 1 maxLength: 1, Values: "Y", "N" | Optional. True if IsService, False for Goods. |
hsnCode | String | minLength: 6 maxLength: 8 pattern: "^(?!0+$)([0-9]{4}|[0-9]{6}|[0-9]{8})$" If supply is of service, then the HSN code should start with "99" | Conditional. HSN code for the goods and SAC code for services should be passed here. |
skuCode | String | Alpha-Numeric | Optional. The SKU code of the item should be passed here. The SKU code is created & maintained by the user system. |
quantity | Decimal | minimum: 0 maximum: 999999999999.99 For services - it will be “0” or “1” | Optional. The quantity of the supply item should be passed here. |
unitOfMeasurement | UOM (ENUM) | minLength: 3 maxLength: 8 Mandatory in case of the supply of goods. | Conditional. The unit of measurement of goods should be passed here. For example: For 10 kilograms of wheat, the unit of measurement is ‘Kilogram’ and the UQC is “KGS”. |
customFields | List (Custom Fields) | - | Optional. It is a section where the user can add any number of custom fields and put them in the object. |
grossAmount | Decimal | minimum: 0 maximum: 99999999999999.99 | Optional. The gross total amount of the supply should be passed here.oss Amount |
totalItemValue | Decimal | minimum: 0 maximum: 99999999999999.99 | Conditional. Total value of the item should be passed here. |
Value Details
If the below fields are left blank we will compute it using the Item list details. If the data is not blank then we will validate with your computation
PARAMETER | PARAMETER TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
totalAmount | Decimal | minimum: 0 maximum: 99999999999999.99 | Optional. The total amount of supply to be passed here. |
Transporter Details
PARAMETER | TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
legalName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$" | Mandatory. Legal Name. The name entered at the time of the formation of the business or incorporation of the company should pass. |
tradeName | String | minLength: 3 maxLength: 100 pattern: "^([^\\\"])*$". The characters can be alphanumeric or special characters. | Mandatory. Trade Name. Trade name of the supplier to be passed here. A trade name in GST is the name through which the business is normally called and the name used for advertising and marketing of the company. Eg.- ClearTax’s legal name is Defmacro Software Pvt. Ltd. However, it is normally known by ClearTax. |
address | Address (Object) | - | Mandatory. Address Details. This section includes parameters such as address line 1, line 2, pincode, state code, etc. |
gstin | String | minLength: 15 maxLength: 15 pattern: "([0-9]{2}[0-9A-Z]{13})" | Optional. The seller’s GSTIN should be tagged here. GSTIN is a unique 15-digit Goods and Services Tax Identification Number or GST registration number. The dealers who are registered under the GST law are provided with the GSTIN. |
phone | String | minLength: 6 maxLength: 12 pattern: "^([0-9]{6,12})$" | Optional. Supplier’s phone number details to be passed here. |
String | minLength: 6 maxLength: 100 pattern: "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$" | Optional. Seller’s email ID details need to be passed here. Every invoice needs the business information on it, and apart from the business name, address, and phone number, the email address of the supplier is also necessary. | |
logoImage | String | The image URL or base64 of the image is to be passed here. | Optional. A logo image of the supplier is to be printed on the invoice. The logo image on the invoice helps make the document easily recognisable. The image provided is to be printed on the PDF. The image can be provided in 3 forms to the team: A static image during onboarding will be added to the settings of user. The URL of the image can be passed here. Base64 of the Image |
Transportation Details
PARAMETER | TYPE | FIELD VALIDATIONS | DESCRIPTION |
---|---|---|---|
vehicleType | String | ENUM: REGULAR or ODC | Optional. Type of Vechile |
packageInformation | String | - | Optional. To enter custom text on package/item description |
grossWeight | Decimal | - | Optional. Decimal field to enter approx weight |
transportMode | String | ENUM: Rail, Road, Air, Ship | Optional. To Enter the mode of Transport - Rail, Road, Air, Ship |
vehicleNumber | String | @ValidVehicleNumber - pattern matching for following patterns "^[a-zA-Z]{2}[0-9]{2}[a-zA-Z]{0,3}[0-9]{4}$", // AANNNNNN or AANNANNNN or AANNAANNNN or AANNAAANNNN "^[a-zA-Z]{3}[0-9]{4}$", // AAANNNN "^[a-zA-Z]{2}[0-9]{3}[a-zA-Z]{1}[0-9]{4}$", // AANNNANNNN "^(TR|DF)[a-zA-Z0-9]*$" // For Defence and Temporary RC vehicles A = Alphabet N = Number 4<=Vehicle Number length <=20 | Optional. Vehicle Registration Number |
Transportation Date | String | minLength: 10 maxLength: 10, pattern: "^[0-3][0-9]\/[0-1][0-9]\/[2][0][1-2][0-9]$" | Optional. Date of Transportation |
distance | Decimal | - | Optional. Distance between pickup and delivery. |
pickupDate | String | minLength: 10 maxLength: 10, pattern: "^[0-3][0-9]\/[0-1][0-9]\/[2][0][1-2][0-9]$" | Optional. Pickup Date. |
Sample Request
Sample Response
Last updated