[InOut] Purchase, Return, Cash Flow Management Plugin

SKU: PL-INOUT

$50

Select version

Support license

Category: Plugin

Description

  .

🌐 Language: 🇻🇳 Tiếng Việt · 🇬🇧 English (current)

Purchase Order Management (Receiving stock from suppliers)

Introduction

This document explains the purchasing workflow in the InOut plugin: from creating a purchase order to a supplier, confirming it, receiving goods into stock, through to paying the supplier. It is for store owners, warehouse managers and internal accountants. After reading it you will be able to create and process a complete purchase order on your own.

Purchasing workflow

flowchart LR
    A["Create PO<br/>(Draft)"] --> B["Confirm<br/>(Confirmed)"]
    B --> C["Receive goods<br/>(Into stock)"]
    C --> D["Pay supplier<br/>(Record expense)"]
    C -. auto .-> E["Stock increases<br/>+ recompute avg cost"]
    D -. auto .-> F["Creates a payment entry<br/>in the cash book"]

Step-by-step

Step 1 — Create a purchase order

  1. Go to Orders → Purchase Orders, click Create purchase order.
  2. Select a supplier from the list (required — choose before adding products).
  3. Add product lines: type a name or SKU to search, pick an existing product, then enter quantity and unit purchase price. Quantity supports decimals (up to 2 decimal places, e.g. 1.5).
  4. If the goods are taxed, enter a tax rate (%) per line — the system computes the tax automatically.
  5. (Optional) Add extra costs (shipping, insurance, handling…), and pick a category for each. A cost may be negative to represent a discount/rebate from the supplier.
  6. Click Save. The system auto-generates an order code (format PO-YYYYMMDD-XXXX) and computes: goods subtotal + total tax + extra costs = grand total.

A new order starts in Draft status. You can only add/remove product lines while it is in Draft.

Step 2 — Confirm the order

  1. Open a Draft order's detail, click Confirm.
  2. The order moves to Confirmed, ready for receiving.

Step 3 — Receive goods (into stock)

  1. In the order detail, enter the actual received quantity on each product line and save.
  2. You can receive in multiple batches (partial receipt) — the line status changes automatically: Pending → Partial → Received.
  3. As soon as you record it, the product's stock increases automatically and the average cost is recomputed from the purchase price.

If you over-recorded and then reduce the received quantity, the system automatically subtracts back the exact amount of stock previously added.

Step 4 — Pay the supplier

  1. In the order detail, under Payments, enter the amount, payment date, method and note → save.
  2. Track: Total / Paid / Remaining. You can record multiple payment instalments.
  3. Each payment automatically creates an expense entry in the cash book (no need to re-enter manually).

You cannot pay more than the order total: paid so far + the new amount must not exceed the order grand total — otherwise the system returns an error.

Purchase order statuses

Status Meaning
Draft Just created, not confirmed (products can be added/removed)
Confirmed Approved, ready to receive
Partial received Some products received, not all
Received All products fully received
Cancelled Order cancelled (only possible when nothing has been received)

Search & filter the list

The purchase order list can be filtered by: order code, supplier, status, and a creation date range (from – to).

Note on period closing

If the accounting period containing the order's date is closed, any modification to that order (add/remove costs, add/remove products, payment, cancel…) is blocked. See Cash Flow, Debts & Period Closing.

Conditions & Rules (know before you act)

Learn these rules up front so you don't get "stuck" while entering data — each rule has a business reason:

When creating / editing an order:

  • You must select a supplier before adding products — so the debt is tied to the right party.
  • At least 1 product; each line must pick a real product in the catalog and have a name.
  • Ordered quantity > 0, up to 2 decimal places (1.25 is valid, 1.255 is rejected) — because the system stores only 2 decimals.
  • Unit purchase price ≥ 0 — a purchase price cannot be negative.
  • Tax rate (if entered) must be within 0–100%.
  • Extra costs may be negative (to record a discount); name ≤ 255 chars, note ≤ 500 chars.
  • Order note ≤ 2000 chars.

When receiving goods:

  • Received quantity cannot exceed the ordered quantity of that line — you can't receive more than ordered.
  • Received quantity ≥ 0, up to 2 decimal places.
  • If reducing the received quantity would require subtracting stock but stock is insufficient → blocked (prevents negative stock).

When paying:

  • Amount > 0.
  • Paid so far + new amount ≤ order total — no overpayment allowed.

Adding/removing products, confirming, cancelling:

  • You can only add/remove products while the order is Draft — once confirmed/received the list is locked to protect the figures.
  • You cannot delete a line that has been received (received qty > 0) or that already has a related return order.
  • You can only cancel an order when nothing has been received.
  • You can only confirm an order that is in Draft.

Period closing: any modification to an order belonging to a closed period (judged by the order's date) is blocked.

Q&A

Q1: Do I have to "Confirm" before I can receive goods?

→ You should follow Draft → Confirm → Receive for clean data. Adding/removing product lines is only possible while the order is still Draft.

Q2: How do I fix a wrong received quantity?

→ Just re-enter the correct received quantity and save. If the new number is smaller, stock is subtracted back; if larger, stock is added.

Q3: What is a negative extra cost for?

→ To record a discount/rebate the supplier gives you. For example a cost of -200,000 reduces the order grand total.

Q4: Why can't I add a product to the order?

→ Only orders in Draft allow adding/removing products. Confirmed/received orders have their product list locked.

Q5: Why did the system block my payment?

→ Because paid so far plus the new amount would exceed the order total. Check the remaining amount before entering.

Q6: How is "average cost" calculated?

→ On receipt with a unit price, the system uses weighted average: (old stock × old cost + received qty × unit price) ÷ (old stock + received qty). Cost is updated only at receipt time, not retroactively for past orders.

Q7: Can I cancel an order that has already received goods?

→ No. Only orders with nothing received can be cancelled. If you already received, use the Return workflow.

Q8: Where do I export the order to Excel/PDF?

→ On the order detail page, use the Export Excel or Export PDF button. See Export & Printing.


📅 Last updated: 2026-08-16 · ✍️ Author: GP247

Recommend products