Point of Sale SubsystemCore Module

POS Sales Returns

1. Overview & Purpose

What are POS Sales Returns?
POS Sales Returns governs customer refund and product return lifecycles. It validates original invoice line items, records item physical conditions, handles refund tenders or store credits, and returns restockable goods back to storage balance.
Menu Location:Point of Sale > Sales Returns

2. When to Use Sales Returns

Unopened Retail Goods Exchange for Store Credit

A retail customer purchased an apparel item with wrong size or color, returning it with original tags attached within the store 7-day exchange window.

Recommended Action:Log return with condition UNOPENED and set Restockable to Yes. The system automatically replenishes store inventory balance and issues a Store Credit voucher.

Defective Out-of-the-Box Appliance Failure (RMA)

Customer purchases a blender or electric kettle that fails to power on on first use and demands an immediate replacement or cash refund.

Recommended Action:Log return with condition DEFECTIVE and set Restockable to No, routing the broken unit to Quarantine storage so damaged goods are never resold.

Partial Invoice Line-Item Return

Customer bought 4 grocery items on a single receipt and returns only 1 defective bottle while keeping the rest of the purchase.

Recommended Action:Specify return quantity against the single target line item; the system computes exact line refund, tax deduction, and preserves the valid balance on the invoice.

Cash Register Drawer Refund & Shift Balance Deduction

Cashier pays customer refund directly in cash currency from the active register drawer under supervisor approval.

Recommended Action:Select refundMethod as CASH; the system automatically deducts expectedCashAmount from the current cashier shift, preventing closing count discrepancies.

Manager Authorization Gate for High-Value Returns (> Rp 500.000)

Preventing cashier collusion or unauthorized cash drawer drain via fraudulent fictitious customer return entries.

Recommended Action:Returns exceeding store threshold trigger a mandatory supervisory approval PIN dialogue before refund tender can be handed to the customer.

Return to Vendor (RTV) Transit Quarantine Quarantine Routing

Returned goods damaged by customer misuse or manufacturing defect must be packaged and transferred to central logistics for vendor credit claims.

Recommended Action:Setting Restockable = No routes items into "Damaged / QC Storage", preventing defective merchandise from ever returning to frontline saleable shelves.

3. Data Dictionary & Fields

Schema structure for the sales_returns header table:

Field / ColumnInput TypeRequirementDescription & Operational Guide
returnNumber
STRING(50)Required
System-generated unique return document code (e.g. RET-POS-20260521-001).
salesTransactionId
BIGINT (FK)Required
Reference to original sales invoice being returned.
shiftId
BIGINT (FK)Required
Active shift session where refund tender is disbursed to customer.
returnType
ENUM(FULL, PARTIAL)Required
Indicates whether the entire invoice or specific items/quantities are returned.
refundMethod
ENUM(CASH, QRIS, TRANSFER, EDC, STORE_CREDIT)Required
Payment method utilized to disburse customer refund.
refundAmount
DECIMAL(18,4)Required
Net refund cash or credit issued to customer after restocking fees.
status
ENUM(DRAFT, PENDING, APPROVED, COMPLETED, REJECTED)Required
Current approval and completion state of the return claim.

4. Interface Preview

Sales return processing drawer showing invoice picker, item condition selectors, restockable flags, and refund calculation.

Menu Location:Route: /admin/point-of-sale/sales-returns

Screen Preview: POS Sales Returns Interface

Visual interface illustration and control layout for menu Route: /admin/point-of-sale/sales-returns

1Invoice Lookup & Auto-fill2Item Condition & Restockable3Refund Method & Fee4Supervisor Sign-off
Return processing drawer displaying original invoice items, condition assessments, refund method selections, and restock actions.

5. Initiating a Return

1

Initiate Return Record

Navigate to Point of Sale > Sales Returns and click Add Return.

2

Select Original Invoice

Search and select invoice number; the system auto-populates original purchased line items.

3

Specify Quantities & Condition

Input return quantity for each item and set condition (Unopened, Opened, Defective, Damaged).

4

Choose Refund Method

Select Cash, Bank Transfer, or Store Credit and provide mandatory reason notes.

5

Submit Return Request

Click Submit Return to route the document for supervisory review or completion.

6. Approval & Inspection

1

Supervisor Review

Authorized store manager reviews physical goods condition and refund total.

2

Approve & Execute Refund

Click Approve. For Cash refunds, the open shift drawer expected cash is immediately deducted.

7. Restock & Refund Execution

Selective Restock Governance
Items classified as Damaged or Defective should have Restockable set to No. The system registers the customer refund without returning contaminated stock to saleable inventory.
1

Restock Inventory Inbound

Items marked Restockable = Yes generate automatic INBOUND stock movements back to storage.

8. Cross-Module Impact

Target SubsystemRelational & Transactional Effect
Stock Movements & BalancesCreates RETURN_INBOUND movements for restockable items, returning quantities into active storage balance.
Shift ManagementCash refunds deduct expectedCashAmount and record totalReturnAmount in the current shift.
Sales HistoryUpdates original invoice status to PARTIALLY_RETURNED or RETURNED.
Operational Best Practices
  • Always physically inspect security seals and serial numbers before approving unopened returns.
  • Damaged or defective goods should be marked non-restockable to prevent reselling flawed merchandise.