# Suppliers, milk purchases and product purchases in Irsaal milk software

> Add suppliers, pay them, set a daily milk contract, buy products with an invoice and return goods to a supplier, with balances kept for you.

- Product: Irsaal Milk Shop Software, by Irsaal Software
- Section: Stock, purchasing & production
- Page: https://irsaalsystems.com/help/milk-suppliers-and-purchases
- Last updated: 2026-09-25

In Irsaal Milk Shop Software there are two kinds of buying. **Milk** from a farm or supplier is entered on **Daily Milk Stock**, one shift at a time, and raises what you owe that supplier. **Products** (yogurt cups, butter, packing, eggs by the dozen) are bought on **Purchases**, with an invoice, freight, tax and payments, and go into product stock. Both build up the supplier's **Payable Balance**, which you pay from **Suppliers → Ledger → Pay Supplier**. Goods sent back to a supplier are handled by **Purchase Returns**.

## On this screen: Suppliers

**Management → Suppliers** (heading **Supplier Management**) shows "N suppliers · Total payable:" and a table: **Supplier**, **Phone**, **Address**, **Purchases**, **Payable Balance**, **Status**, **Actions**. Buttons: **Add Supplier**, and per row **Ledger**, **Milk Contract** / **Set Contract** (when **Supplier Milk Contracts** is on), edit and delete. A red balance means you owe them.

## How do I add a supplier?

1. Press **Add Supplier**.
2. Enter **Name** (required), **Phone**, **Email**, **Address**, **Opening Balance (payable)** (the amount you already owe, if any) and tick **Active**.
3. Press **Save**. The message is "Supplier created successfully." The phone number is what the shop's WhatsApp uses for supplier messages.

A supplier with any transactions cannot be deleted: "Cannot delete a supplier with existing transactions." Mark them inactive instead.

## How do I pay a supplier?

Open the supplier's **Ledger** and press **Pay Supplier** (needs the **Add Supplier Payment** button permission). Enter **Amount** (up to the outstanding payable; the screen shows **After Payment**), choose **Pay From Account**, set the **Date**, an optional **Note**, and press **Record Payment**. The money leaves that account. The ledger page shows **Milk Received**, **Total Paid**, **Period Closing**, **Current Payable**, filters **From**, **To**, **Shift**, and a running-balance table with **Credit (Purchases / Refunds)** and **Debit (Payments / Returns)**. **Export PDF** needs the **Export / Print Ledger** permission. A payment made against one purchase can also be recorded on that purchase page (**Record Payment**).

## How do I set a supplier's daily milk agreement?

Switch on **Supplier Milk Contracts** on **Settings → Modules**. On **Suppliers** press **Milk Contract** (or **Set Contract**) on the supplier (needs the **Edit** right on **Suppliers**).

1. Tick **Active contract** and optionally set a **Start date** and **End date**.
2. Under **Daily delivery agreement** press **Add Quantity / Unit**. For each line choose **Shift** (**Morning**, **Evening** or **Both shifts**, meaning the same quantity every shift), **Milk**, **Quantity per shift**, **UOM** and the fixed **Rate /** per unit. Use separate lines for mann and for litres so each has its own price.
3. Add **Contract notes** and press **Save Contract**.

"Add at least one delivery line." is required. On **Daily Milk Stock**, choosing the supplier loads the agreement (shown as **Fixed contract**), and you adjust the quantity to what really arrived. Updating a contract applies to new entries only. Saved receipts keep their original prices and unit conversions.

## How do I buy products from a supplier?

1. Open **Purchases** and press **New Purchase**. You need at least one supplier and a product with units: "Add at least one supplier and a product with units before creating a purchase."
2. Choose the **Supplier**, the **Purchase Date**, an optional **Supplier Invoice / Reference**, and **Receive Stock Into**: **Warehouse** or **Store (available for POS)**.
3. Under **Products**, search a product (or a size), press **Add Product**, and for each line enter **Qty**, **Cost Price**, **Freight / Unit**, **Tax %** and **Sale Price**. Cost and freight are per purchase unit (per piece for a product bought by size); tax applies to cost plus freight; freight and tax are included in stock cost.
4. Enter **Paid Now** and **Pay From Account** if you are paying now. Any available supplier credit is applied automatically ("Balance Before Supplier Credit").
5. Add **Notes** and save. The purchase number looks like PUR-00012.

Each product may be on the purchase once ("This product is already on the purchase. Change its quantity instead."), the payment cannot exceed the total ("Payment cannot exceed the purchase total."), and a later payment cannot be dated before the purchase. Stock goes into the location you chose and the cost updates the product's average cost. If **Purchase recorded** is on in **WhatsApp**, the supplier is told.

## How do I return products to a supplier?

1. From a purchase press **Return Products**, or open **Purchase Returns → New Purchase Return** and choose the purchase.
2. Set the **Return Date**, **Take Products From** (**Warehouse** or **Store**), and the **Settlement Method**: **Supplier Ledger Adjustment**, **Cash Refund** or **Bank Refund**.
3. Enter **Return Qty** per line (or **Return All Remaining Items**) and a **Reason / Notes**.
4. For a cash or bank refund choose **Receive Refund Into**. Cash and bank returns first clear the unpaid purchase balance; only the excess is refunded. A ledger adjustment leaves any excess as supplier credit.
5. The panel shows **Return Value**, **Payable Cleared**, **Cash / Bank Refund**, **Credit Left With Supplier** and **Remaining Purchase Payable**.

A return cannot be dated before its purchase or before the latest payment or return on it. The **Purchase Return Report** lists them.

## Who can do what?

| Screen | Rights in the role grid |
| --- | --- |
| **Suppliers** | **Suppliers**: View, Add, Edit, Delete, plus **Add Supplier Payment** and **Export / Print Ledger** |
| **Purchases** | **Product Purchases**: View, Add (recording a payment also needs **Add Supplier Payment**) |
| **Purchase Returns** | **Purchase Returns**: View, Add |

A role written before purchases existed does not get **Purchases** or **Purchase Returns** by itself. Tick them on the role.

## Frequently asked questions

### Where do I enter milk I bought from a farm?

On **Daily Milk Stock**, under **Supplier Milk**, not on **Purchases**. **Purchases** is for products.

### How do I see how much I owe a supplier?

Open **Suppliers** (the **Payable Balance** column) or the supplier's **Ledger** (**Current Payable**). The **Supplier Report** totals every supplier.

### The supplier delivered less than the contract. What do I do?

On **Daily Milk Stock** adjust the quantity on the supplier line to what really came. The contract rate stays fixed.

### I paid the supplier twice by mistake.

Payments cannot be edited. Record the correction with the supplier (a refund is entered as a return, or the extra stays as credit) and note it on the ledger.

### Can I delete a purchase?

Purchases are not deleted. Correct a wrong one with a **Purchase Return**.

## Khulasa (Roman Urdu)

Doodh supplier se "Daily Milk Stock" mein likha jata hai, aur products "Purchases → New Purchase" se kharide jate hain (qeemat, freight, tax aur "Paid Now" ke sath). Supplier ka baqaya "Suppliers" mein "Payable Balance" hai; usay "Ledger" ke "Pay Supplier" se ada karein. Supplier ke sath rozana ka muahida "Supplier Milk Contracts" on karke "Set Contract" mein likhein. Maal wapas dena ho to "Purchase Returns" mein "Supplier Ledger Adjustment", "Cash Refund" ya "Bank Refund" chunen.

---

Source: https://irsaalsystems.com/help/milk-suppliers-and-purchases — Irsaal Help Center (https://irsaalsystems.com/help).
