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:
- Manual entry: Type the amount in words — acceptable for a small-volume operation.
- 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.
- 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 »