> For the complete documentation index, see [llms.txt](https://kb.logicerp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/purchase/purchase-inward-workflow-process.md).

# Purchase Inward Workflow Process

The **Purchase Inward Workflow** follows goods from the moment the transporter's lorry receipt (**L.R.**) arrives, through the gate, and into a **Purchase Challan** and **Purchase Voucher**. Use it when you want to record what the transporter is bringing before the goods reach you, take the boxes in at the gate, and link each purchase bill to the gate pass of the goods it covers.

A supplier often sends **several invoices in one L.R.**, and not everything may arrive at once. The gate pass records **what actually arrived**. It does not check amounts or invoice totals. Goods that did not arrive can come later on **another L.R.**

The flow has four steps, done in this order:

1. **Enter L.R. Details** - record the L.R. and the supplier invoices it carries.
2. **Gate Pass Entry Against L.R.** - receive the boxes at the gate. This makes a gate pass for each invoice you tick.
3. **Purchase Challan** - enter the challan and quote a gate pass number in **GPN Number**.
4. **Purchase Voucher** - make the purchase bill.

***

### **Before you start**

* The L.R. must be made against a **Purchase Order** or on **PI Category Basis**. Only these L.R.s can be picked in Gate Pass Entry Against L.R.
* Decide whether the purchase must be checked against the gate pass. If yes, set up the Purchase Challan configuration as shown in Step 3, and read **About the amount check** there first.
* An L.R. can be picked for a gate pass only in the branch it was entered in, and a GPN is kept unique branch by branch. Work in the same branch throughout.

***

### **Step 1: Enter L.R. Details**

Menu: `Purchase\Enter L.R. Details`

* Enter the **Party** (supplier), **G.R. No.**, **G.R. Date**, **Transporter Name**, **No. Of Boxes** and the freight details. **No. Of Boxes** must be more than 0.
* Choose **Purchase Order** or **PI Category Basis** and select the documents the L.R. is for.
* List each supplier invoice in the grid: **INVOICE DATE**, **INVOICE NUMBER**, **QUANTITY** (boxes) and **AMOUNT**. The **QUANTITY** of all the rows must add up to **No. Of Boxes**.
* Save. The L.R. now shows all its boxes as pending.

Enter L.R. Details is also available on the web. For the full screen, see **Enter L.R. Details**.

***

### **Step 2: Gate Pass Entry Against L.R.**

Menu: `Purchase\Gate Pass Entry Against L.R.`

* Tick **LR Selection** and pick the L.R. The screen lists the L.R.'s invoices that have not been received yet, with **Invoice No.**, **Invoice Date**, **Total Box** and **Amount**. **L.R Box Count** shows the L.R.'s boxes still pending.
* Tick the invoices whose goods have arrived. You can tick **one or several**.
* **Quantity Recevied** and **Amount** add up the ticked invoices. **Quantity Recevied** cannot be more than **L.R Box Count**. If fewer boxes arrived, lower **Quantity Recevied** to the boxes that actually came.
* Enter one row per box received in the grid. The number of rows must equal **Quantity Recevied**.
* Save. The program makes **one gate pass for each ticked invoice**, numbered one after the other, and the save message lists them all, for example **G145** and **G146**. Each gate pass carries its own invoice number as **Challan No.** Everything else is the same on all of them: the same **Quantity Recevied**, the same **Amount** and the same box rows.
* The L.R. pending boxes go down by **Quantity Recevied**, once for the whole save.
* **Every ticked invoice counts as received**, even if only part of its goods came. It no longer appears for this L.R. Invoices you did not tick stay on the L.R. for a later gate pass.
* Once **all** the invoices of an L.R. are received, the L.R. no longer appears in the L.R. list, even if some of its boxes are still pending. Goods that did not arrive come later on **another L.R.**

For the full screen, see **Gate Pass Entry Against L.R.**

***

### **Step 3: Purchase Challan**

Menu: `Purchase\Purchase Challan`

The challan does not read the L.R. Its only link to the inward flow is the gate pass number, typed in **GPN Number** and **GPN Date**.

**Show the GPN fields**

* Open the configuration of the Purchase Challan and go to the **Other Settings-1** tab.
* Click **Column Locks** and tick **GPN (TICK TO UNLOCK)**.
* **GPN Number** and **GPN Date** now appear on the challan, and a GPN must be entered before the challan can be saved.

**Which gate pass number to quote**

* Quote the gate pass made for the invoice you are billing. When one save made several gate passes, each invoice has its own number. The save message lists the numbers in the same order as the invoices in the list; to be sure, open the gate pass with **Modify** on Gate Pass Entry Against L.R. and look at its **Challan No.**
* Type the number **exactly as shown in the gate pass save message**, for example **G145** - with no dash or spaces in between.
* The challan's own date (**Date And No**) cannot be earlier than the **GPN Date**.
* A gate pass made in Gate Pass Manager (`Inventory\Gate Pass Manager\Issue Against New Gate Pass`) for the same party is also accepted.

**Check the challan against the gate pass (optional)**

* In the same **Other Settings-1** list, tick **Validate Purchase Bill Amount against Gate Pass Entry**.
* When the challan is saved, the program looks for a gate pass with the number typed in **GPN Number**, of the **same party** as the challan.
* The challan's net amount must be **exactly equal** to the gate pass **Amount**.
* Further checks are optional. They are set in the gate pass configuration (the **Configuration** button on Gate Pass Entry Against L.R., or on Gate Pass Manager in Issue Against New Gate Pass), in the list **Validate Selected Gate Pass Fields against Purchase Document**:
  * **Challan No.** - the gate pass Challan No. (its invoice number) must match the challan's **Challan Number**.
  * **Challan Date** - the gate pass **Challan Date** must match the challan's **Challan Date**. The gate pass Challan Date is today's date unless you change it there.
  * **Branch** - the gate pass must belong to the same branch as the challan.
* The check runs **only when the GPN fields are unlocked**. If **GPN (TICK TO UNLOCK)** is not ticked, the check is skipped even when the option is ticked.

**About the amount check**

* The gate pass **Amount** is the **total of all the invoices ticked in that save**, and every gate pass of that save carries this same total. It is not reduced when fewer boxes arrive. You can change **Amount** before saving, but the changed figure again goes on every gate pass of that save.
* So in practice the amount matches a challan when **one invoice** was ticked, its goods arrived **in full**, and the challan is for that whole invoice.
* When one L.R. brings several invoices, or goods arrive in part, the amount will usually not match. If that is how you receive goods, **leave Validate Purchase Bill Amount against Gate Pass Entry off** and use only **GPN (TICK TO UNLOCK)** to record the gate pass on the challan.

**Enter the GPN on the challan only**

* A gate pass number can be quoted on **only one** Purchase Challan or Purchase Voucher in a branch. A second one stops with "GPN already exists".
* So quote the gate pass on the **Purchase Challan**, and tick **GPN (TICK TO UNLOCK)** (and the check, if you use it) in the **challan's** configuration.
* Do **not** tick them in the configuration of the Purchase Voucher you make from the challan. That voucher would need a GPN, and the same GPN would be refused as already used.

***

### **Step 4: Purchase Voucher**

Menu: `Purchase\Purchase Voucher`

* Make the Purchase Voucher from the challan in the usual way.
* The GPN is **not** carried from the challan to the voucher. When the gate pass was quoted on the challan, leave the voucher without a GPN.
* If you buy without a challan, the voucher can quote the gate pass instead. The fields, the option and the checks are the same as in Step 3, under the **voucher's own configuration**.

**Transport details are not taken from the L.R.** The G.R. No., G.R. Date, transporter, cases, vehicle and freight on the challan and the voucher are typed in, or come from the challan or a delivery note as usual. Nothing is copied from the L.R.

***

### **What locks what**

* Once a gate pass is made against an L.R., the **L.R. cannot be modified or deleted**.
* Once a Purchase Challan or Purchase Voucher quotes a gate pass in **GPN Number**, that **gate pass cannot be modified or deleted**.
* Deleting the challan or voucher, or changing its **GPN Number** to another gate pass, frees the gate pass again.

***

### **Messages you may see**

| Message                                                                             | Where                                                     | What to do                                                                                                                                                     |
| ----------------------------------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Please enter Gate Pass No.(GPN)....                                                 | Challan / voucher save                                    | The GPN fields are unlocked in this configuration. Enter the gate pass number.                                                                                 |
| Enter Gate Pass No Date                                                             | Challan / voucher, on moving from the header to the items | A GPN was typed but the GPN Date is blank or not a valid date.                                                                                                 |
| Document Voucher Date cannot be less than GPN Date. Please check.                   | Challan / voucher save                                    | The document date is earlier than the GPN Date. Correct one of them.                                                                                           |
| GPN already exists.........                                                         | Challan / voucher save                                    | This gate pass is already quoted on another challan or voucher of this branch. A GPN can be used once.                                                         |
| Gate Pass Entry No. ... not found.                                                  | Challan / voucher save                                    | No gate pass of this party with that number (and branch, if Branch is ticked). Check the number as shown in the save message, for example G145, and the party. |
| Gate Pass Entry Amount :... not match with Bill Amount : ... Cannot allow saving..  | Challan / voucher save                                    | The net amount differs from the gate pass Amount. For a multi-invoice or part receipt this is expected - see **About the amount check**.                       |
| Gate Pass Entry Bill No. :... not match with Bill No. : ... Cannot allow saving..   | Challan / voucher save                                    | Shown only when Challan No. is ticked in the gate pass configuration. Check that you quoted the gate pass of this invoice.                                     |
| Gate Pass Entry Bill Date :... not match with Bill Date : ... Cannot allow saving.. | Challan / voucher save                                    | Shown only when Challan Date is ticked in the gate pass configuration. Correct the bill date, or the Challan Date on the gate pass.                            |
| Gate Pass Entry exists against this L.R. Modification not allowed.                  | Enter L.R. Details                                        | A gate pass has been made against this L.R.                                                                                                                    |
| Gate Pass Entry exists against this L.R. Deletion not allowed.                      | Enter L.R. Details                                        | A gate pass has been made against this L.R.                                                                                                                    |
| Selected Gate Pass already used against purchase document, cannot modify..          | Gate Pass Entry Against L.R.                              | A challan or voucher quotes this gate pass.                                                                                                                    |
| Selected Gate Pass already used against purchase document, cannot delete..          | Gate Pass Entry Against L.R.                              | A challan or voucher quotes this gate pass.                                                                                                                    |

***

> **Example - one L.R. with two invoices, part of the goods arriving first**
>
> Sharma Fabrics sends two invoices through Speed Roadways on one L.R.: **SF-101** dated 01-10-2026, 10 boxes, Rs 25,000 and **SF-102** dated 01-10-2026, 6 boxes, Rs 15,000.
>
> 1. **Enter L.R. Details** - Party Sharma Fabrics, G.R. No. 7781, Transporter Speed Roadways, No. Of Boxes 16, against the Purchase Order; invoice rows SF-101 and SF-102. Pending boxes: 16.
> 2. **Gate Pass Entry Against L.R.** - on 02-10-2026 only 12 boxes reach the gate: all 6 of SF-102 and 6 of SF-101. Pick the L.R., tick SF-101 and SF-102. Quantity Recevied shows 16 and Amount 40,000. Lower Quantity Recevied to 12, enter 12 box rows and save. The message lists **G145** and **G146**. G145 carries Challan No. SF-101 and G146 carries Challan No. SF-102, each with Quantity Recevied 12, the same 12 box rows and Amount 40,000. Pending boxes on the L.R.: 4. Both invoices now count as received, so this L.R. no longer appears in the L.R. list, and it can no longer be modified.
> 3. **The rest** - the 4 missing boxes of SF-101 come on 05-10-2026 on a new L.R., G.R. No. 7810, entered in Enter L.R. Details with No. Of Boxes 4 and one invoice row SF-101, 4 boxes, Rs 10,000. They are taken in with a new gate pass, **G147**.
> 4. **Purchase Challan** - the challan configuration has **GPN (TICK TO UNLOCK)** ticked, and **Validate Purchase Bill Amount against Gate Pass Entry** left off, because these gate passes carry the combined amount. The challan for SF-102 (Rs 15,000) quotes GPN Number **G146**, GPN Date 02-10-2026. The challan for the 6 boxes of SF-101 that came first quotes **G145**, and the challan for the last 4 boxes quotes **G147**. These gate passes can no longer be modified or deleted.
> 5. **Purchase Voucher** - each voucher is made from its challan, with no GPN.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://kb.logicerp.com/logic-erp-learning-hub-tutorials-and-best-practices/purchase/purchase-inward-workflow-process.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
