Ankeshan

Purchase Order (PO) Template in Excel

Last updated: 27 June 2026

A purchase order (PO) is a buyer's written offer to a supplier — once accepted, it becomes a contract. An Excel PO template for India must include your GSTIN, the supplier's GSTIN, HSN codes, quantity, rate, GST breakup and payment terms. This guide shows you the exact layout and auto-total formulas, with a free template you can use immediately.

Key takeaways

  • A PO is not a tax invoice — it is the buyer's document issued before the goods arrive. The supplier's invoice follows separately.
  • Include your GSTIN and the supplier's GSTIN on every PO — your ITC eligibility depends on the supplier being GST-registered.
  • Include HSN codes on PO line items — this avoids disputes when the supplier raises their invoice with a different HSN.
  • GST amounts on a PO are estimates; the final tax is on the supplier's tax invoice. Mark the GST columns "Estimated" to avoid confusion.
  • MSMED Act (45-day payment rule): if your supplier is a Micro or Small enterprise with Udyam registration, payment beyond 45 days from acceptance of goods disallows the deduction under Section 43B(h) of the Income Tax Act. Add a "Payment Due Date" field to the PO for every MSME supplier.
  • Number POs sequentially (PO/FY/0001) and keep a PO register in Excel — this is your procurement audit trail.

Fact box. Under Section 43B(h) of the Income Tax Act (inserted by Finance Act 2023), any payment to a Micro or Small enterprise (registered under MSMED Act, non-trader category) that exceeds 45 days from the date of acceptance of goods or services is disallowed as a business deduction in the year of purchase and allowed only in the year of actual payment. This rule has been in effect from FY 2023-24 and remains unchanged. Recording the acceptance date and supplier's Udyam status on each PO is essential to track this deadline.


What fields must a purchase order include?

Header block

Field Notes
Company Name (Buyer) Your legal name as registered
Address Registered address
GSTIN Your 15-digit GSTIN
State State code (first 2 digits of GSTIN)
Purchase Order No Sequential: PO/2026-27/0001
PO Date Date of issue
Supplier Name Legal name as on GST registration
Supplier Address Billing and shipping address
Supplier GSTIN Verify before issuing
Delivery Address Where goods should be delivered
Delivery Date Expected delivery date
Payment Terms e.g. "30 days from invoice" or "45 days MSME"

Line-item table

# Item Description HSN Code Unit Qty Unit Rate (₹) Taxable Value (₹) GST % CGST Est. (₹) SGST Est. (₹) IGST Est. (₹) Total Est. (₹)

Footer block

Field Notes
Subtotal (Taxable Value) Sum of all Taxable Value cells
Total Estimated GST Sum of CGST + SGST + IGST across all rows
Grand Total Subtotal + Total GST
In Words The Grand Total in words
Payment Due Date Calculated from delivery date + payment terms
Authorised Signatory Name and designation
Terms and Conditions Brief: delivery, inspection, return policy

How do I build the PO template in Excel?

Step 1 — Set up the header area

Use merged cells for the header block (rows 1–12). Put your company logo in the top-left if available (Insert → Pictures). Keep the header block unlocked for updating per PO; lock the formula cells later.

Create named cells for frequently changed fields:

  • PO_Number → the PO number cell.
  • PO_Date → date cell (format as DD-MMM-YYYY for clarity).

Step 2 — Build the line-item table

Start the line-item table at row 15. Create 10–20 rows (enough for most POs). Apply a table border.

Taxable Value formula (column G, starting G15):

=IF(E15="","",E15*F15)

Where E = Qty and F = Unit Rate.

GST determination — intra-state vs inter-state:

Add a helper cell (Supply_Type) in the header: a dropdown with "Intra-State" or "Inter-State". Then:

CGST (column H):

=IF($Supply_Type="Inter-State",0,IF(G15="","",G15*$H$14/200))

Where H14 holds the GST rate for that row. For variable GST rates per line, add a GST Rate column and reference it per row:

=IF($Supply_Type="Inter-State",0,IF(G15="","",G15*I15/200))

SGST (column J):

=IF($Supply_Type="Inter-State",0,IF(G15="","",G15*I15/200))

IGST (column K):

=IF($Supply_Type="Intra-State",0,IF(G15="","",G15*I15/100))

Line Total (column L):

=IF(G15="","",G15+H15+J15+K15)

Step 3 — Add the summary totals

Below the line-item table:

Subtotal:

=SUM(G15:G34)

Total CGST:

=SUM(H15:H34)

Total SGST:

=SUM(J15:J34)

Total IGST:

=SUM(K15:K34)

Grand Total:

=Subtotal+Total_CGST+Total_SGST+Total_IGST

Step 4 — Add the "Amount in Words" formula

Excel does not have a native currency-to-words function. Options:

  1. Manual entry: Type the amount in words — acceptable for a small-volume operation.
  2. UDF (User Defined Function): A short VBA function that converts numbers to Indian currency words (₹ X lakh Y thousand Z and paise only). Include the VBA code in the template.
  3. Lookup table: A workaround using nested TEXT and MID formulas — complex but macro-free.

For most SMBs, option 1 or 2 is practical. The free template includes a VBA-based amount-in-words function.

Step 5 — Calculate the MSME payment due date

Add a "Supplier Type" field in the header (dropdown: MSME / Non-MSME). Add a payment terms field (e.g. 30, 45). Add a delivery date field. Then:

Payment Due Date:

=IF(Supplier_Type="MSME", Delivery_Date+45, Delivery_Date+Payment_Terms_Days)

Highlight this cell in orange if the payment due date is within 7 days of today:

=IF(AND(Supplier_Type="MSME", Payment_Due_Date-TODAY()<=7), "PAY NOW", "")

Fact box. The 45-day MSME payment clock starts from the date of acceptance of goods — not from the invoice date or PO date. "Acceptance" means physical receipt without raising a dispute. If no acceptance date is separately recorded, the clock typically starts from the delivery date. Record the acceptance date on the GRN (Goods Receipt Note) that closes each PO.


How do I maintain a PO register?

Keep a PO_Register sheet in the same workbook:

PO No PO Date Supplier Supplier GSTIN Supplier Type PO Value (₹) Delivery Date GRN No GRN Date Invoice No Invoice Date Invoice Value Payment Due Date Payment Date Status

Status values: Open / Partially Delivered / Fully Delivered / Invoiced / Paid / Cancelled.

Use SUMIFS on this register to see:

  • Total open PO value outstanding.
  • POs due for payment in the next 7 days.
  • MSME supplier payments approaching the 45-day limit.

Free purchase order template

The free Excel template includes:

  • PO template sheet (print-ready, A4 landscape).
  • Auto-totals with intra-state/inter-state GST switching.
  • Amount-in-words VBA function.
  • MSME payment due date calculator.
  • PO Register sheet.

Free to download, no sign-up.

Download the Purchase Order Excel Template »


How Ankeshan helps: Ankeshan generates purchase orders inside Excel pre-filled with supplier GSTIN, HSN codes and GST rates from your item master — and tracks open POs against GRNs to flag overdue MSME payments automatically. It's launching soon; join the waitlist.


Frequently asked questions

Is a purchase order a legal document in India? A PO becomes legally binding once the supplier accepts it (expressly or by commencing performance). It is governed by the Indian Contract Act 1872. A written PO with clear terms is strongly preferred over verbal or email purchase orders for any significant value. Keep signed copies or email acceptance records.

Does a PO need to be on a stamp paper? No. A PO does not require stamp duty under most circumstances in India. Stamp duty is typically required for formal contracts and certain instruments — a standard purchase order is not one of them. For high-value contracts, confirm the position in your state, as stamp duty laws vary by state.

Can I use a PO as proof for ITC? No. ITC under GST requires a tax invoice (not a PO) from the supplier, appearing in your GSTR-2B. A PO is a pre-purchase document. The tax invoice from the supplier is the basis for ITC.

What is the difference between a PO and a delivery challan? A PO is issued by the buyer before the goods arrive — it authorises the purchase. A delivery challan is issued by the supplier when goods are dispatched (in cases where a tax invoice is not issued at the time of delivery — e.g. job work, or goods sent on approval). The tax invoice follows later.

Do I need a separate PO for every purchase? Not necessarily. Small, recurring purchases (stationery, small consumables) are often made without a formal PO. However, for any purchase above ₹10,000, and for all capital goods and inventory, a PO creates an important audit trail. Set your PO threshold as a policy and document it.


Sources

  • Indian Contract Act 1872 (indiacode.nic.in).
  • MSMED Act 2006, Section 15–16 — Payment to Micro and Small Enterprises.
  • Income Tax Act 1961, Section 43B(h) — 45-day MSME disallowance (introduced Finance Act 2023).
  • CBIC GST rate notifications effective 22 September 2025 (cbic.gov.in).
  • Ministry of MSME — Udyam Registration portal (udyamregistration.gov.in).

General information, not professional advice. Verify on the official portal for your case. Reviewed by a Chartered Accountant; last updated 27 June 2026.


Related: Inventory Management pillar » · Stock Register / Inventory Template » · Stock Register with GST in Excel » · Reorder Point & EOQ Calculator »