Exercise 9

Purchase Vouchers Without Inventory

Published


This exercise imports Purchase Vouchers that don't have stock items — just an invoice-level amount against a Purchase Ledger. It mirrors the Sales Vouchers Without Inventory exercise, with the Supplier and Purchase Ledger taking the opposite sides of the entry.

The Excel sheet

A B C D E F
1 INV NO. DATE SUPPLIER PURCHASE LEDGER NARRATION AMOUNT
2 11001 01/04/2026 Vero Beach Embroidery US-DIGITISING-RETAIL Silk 100
3 11002 01/04/2026 A R S Marketing US-ART-RETAIL Mix 200
4 11003 01/04/2026 Vero Beach Embroidery US-DIGITISING-RETAIL Silk 300
5 11004 01/04/2026 V S Traders US-DIGITISING-RETAIL Mix 400
6 11005 01/04/2026 Parimal Arts US-ART-RETAIL Silk 500

Step 1 — Create the Ledger masters

First, we need to write tags for creating Ledger masters for the Supplier (Column C) and the Purchase Ledger (Column D) — before the voucher can be posted. udiMagic processes MASTER tags before VOUCHER tags, so both ledgers get created automatically in the same import if they don't already exist.

<!-- Supplier Ledger, created under Sundry Creditors -->
<MASTER TYPE="LEDGER">
    <NAME.LIST>
        <NAME COLUMNREFERENCE="C"/>
    </NAME.LIST>
    <!-- Additional Name refers to the Mailing Name field in Tally -->
    <ADDITIONALNAME COLUMNREFERENCE="C"/>
    <PARENT>Sundry Creditors</PARENT>
</MASTER>

<!-- Purchase Ledger, created under Purchase Accounts -->
<MASTER TYPE="LEDGER">
    <NAME.LIST>
        <NAME COLUMNREFERENCE="D"/>
    </NAME.LIST>
    <PARENT>Purchase Accounts</PARENT>
    <AFFECTSSTOCK>No</AFFECTSSTOCK>
    <USEFORVAT>No</USEFORVAT>
</MASTER>

Step 2 — Write the Voucher tags

The quickest way to get the exact tags Tally expects for a voucher is to let Tally generate them for you: enter one sample Purchase Voucher manually in Tally Prime, then export it as Gateway of Tally >> Display >> Daybook >> Alt+E. This produces a Daybook.xml file — open it and look inside the <TALLYMESSAGE> tag for the voucher structure Tally actually uses (see udiMagic XML tags for how udiMagic's COLUMNREFERENCE attribute then maps each of those tags back to your Excel columns).

A Purchase Voucher without inventory maps to something like this:

<VOUCHER>
    <!-- A unique identifier for each record -->
    <GUID FORMULA="=&quot;1d2e&quot; &amp; A# &amp; &quot;-&quot; &amp; B#"/>
    <DATE COLUMNREFERENCE="B"/>
    <EFFECTIVEDATE COLUMNREFERENCE="B"/>
    <VOUCHERTYPENAME>Purchase</VOUCHERTYPENAME>
    <VOUCHERNUMBER COLUMNREFERENCE="A"/>
    <REFERENCE COLUMNREFERENCE="A"/>
    <NARRATION COLUMNREFERENCE="E"/>
    <ISINVOICE>No</ISINVOICE>

    <!-- Purchase A/c is to be Debited -->
    <ALLLEDGERENTRIES.LIST>
        <LEDGERNAME COLUMNREFERENCE="D"/>
        <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
        <AMOUNT FORMULA="=+Round(F#,2)*-1"/>
    </ALLLEDGERENTRIES.LIST>

    <!-- Supplier A/c is to be Credited -->
    <ALLLEDGERENTRIES.LIST>
        <LEDGERNAME COLUMNREFERENCE="C"/>
        <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
        <AMOUNT FORMULA="=+Round(F#,2)*1"/>
        <BILLALLOCATIONS.LIST>
            <NAME COLUMNREFERENCE="A"/>
            <BILLTYPE>New Ref</BILLTYPE>
            <AMOUNT FORMULA="=+Round(F#,2)*1"/>
        </BILLALLOCATIONS.LIST>
    </ALLLEDGERENTRIES.LIST>
</VOUCHER>
Remarks:
  • Master tags are always processed before the voucher tags — so a Supplier or Purchase Ledger that doesn't exist yet still gets created in time for the voucher that references it.
  • The two ALLLEDGERENTRIES.LIST blocks must net to zero — the debit to the Purchase Ledger and the credit to the Supplier are equal and opposite.
  • For a debit entry, ISDEEMEDPOSITIVE is Yes and the amount is negative. For a credit entry, ISDEEMEDPOSITIVE is No and the amount is positive.
  • The BILLALLOCATIONS.LIST on the Supplier entry records each invoice as a New Ref bill, so it shows up in the Supplier's outstanding payables.
Sample files: Download the sample Excel sheet and matching XML tags file for this exercise. Download purchase-vouchers-without-inventory.zip

Ready to import your Excel data into Tally?

Download udiMagic and start a 14-day free trial — no credit card required.

Download udiMagic View Pricing