Sales Setup — 4.12 Voucher Setup
Use Voucher Setup to create and manage gift vouchers for your customers. You can generate single vouchers or print them in bulk with unique codes. Customers redeem these vouchers as payment at the POS. Vouchers can be created individually or generated in batches with configurable prefixes, numbering sequences, and denominations. The system tracks the full voucher lifecycle: Published → Redeemed → Expired.
When to use this: When you want to create gift vouchers for your customers.

The list displays all vouchers with their numbers, status, and validity dates. In the screenshot above, there is one voucher: VH00001 ("voucher 10K") with status PUBLISHED, valid from 14 Jan 2026 to 14 Jan 2027.
Search in voucher name)| Column | Description | Example |
|---|---|---|
| ID | Unique voucher ID (clickable — opens edit form) | VH00001 |
| Voucher | Voucher name/label | voucher 10K, CNY Gift Card |
| Status | Current lifecycle status — see below | PUBLISHED, REDEEMED |
| Start Date | Validity start date | 14 Jan 2026 12:00 AM |
| EndDate | Validity end date | 14 Jan 2027 12:00 AM |
| Deleted | Hidden/deleted status | ☐ / ☑ |
| Status | Meaning | What Happens at POS |
|---|---|---|
| PUBLISHED | Voucher is active and ready to be used. | Cashier can scan/enter this voucher code to apply its value to a transaction. |
| REDEEMED | Voucher has been used in a transaction. | Cannot be used again. The system blocks re-scanning. |
| EXPIRED | Voucher has passed its end date. | System automatically rejects it at POS with an "Expired" message. |
Click + Add New or click an ID link to open the form:

| Field | Type | Required | Description |
|---|---|---|---|
| Voucher ID | Auto-generated | — | System-generated unique ID (e.g., VH00001). |
| Voucher Name | Text | Yes | Display name (e.g., "CNY $50 Gift Card"). |
| Amount | Number | Yes | Dollar value of the voucher. |
| Start Date | Date Picker | No | When the voucher becomes valid. Before this date, POS will reject it. |
| End Date | Date Picker | No | When the voucher expires. After this date, POS will reject it with "Expired" message. Leave blank for no expiry. |
| Status | Dropdown | No | PUBLISHED (default), REDEEMED, or EXPIRED. |
Generate multiple vouchers at once with sequential numbering:
| Field | Type | Description |
|---|---|---|
| Prefix | Text | Starting characters (e.g., GV-). |
| Suffix | Text | Ending characters (e.g., -SG). |
| Number of Digits | Number | Length of numeric portion (e.g., 4 → 0001). |
| Start Number | Number | First number in sequence (e.g., 1). |
| End Number | Number | Last number in sequence (e.g., 100). |
Example: Prefix GV-, 4 digits, Start 1, End 100 → generates vouchers GV-0001 through GV-0100.


Change the fields you need to update.
Click Save to apply your changes.
✅ Expected Result: The voucher is saved with status PUBLISHED and redeemable at POS.

[!TIP] To make changes, just click the name of any voucher in the list — the same form opens with everything already filled in. Change what you need and click Save.
Scenario: A retail chain wants to sell $50 gift vouchers for CNY.
2. Set: Prefix = CNY2026-, Digits = 4, Start = 1, End = 500, Amount = $50.00.
3. Set Start Date = 01 Jan 2026, End Date = 28 Feb 2026.
4. Click Generate — this creates 500 vouchers: CNY2026-0001 to CNY2026-0500.
5. Print the voucher codes and sell them at the counter.
6. When a customer presents voucher CNY2026-0123, the cashier scans/enters the code at POS.
7. The $50 value is applied as a payment method → voucher status changes to REDEEMED.
8. After 28 Feb 2026, any unused vouchers automatically become EXPIRED.
Scenario: A customer returns an item worth $25. Instead of cash refund, issue a store credit voucher.
2. Set: Voucher Name = Refund-CustName, Amount = $25.00, No End Date.
3. Print/email the voucher code to the customer.
4. Customer redeems it on their next visit.
| Action | When Available | Description |
|---|---|---|
| Save | Always | Saves the voucher record |
| Save and New | Always | Saves then opens a blank form |
| Generate Batch | Add mode | Generates multiple vouchers at once |
| Delete | Edit mode (not deleted) | Removes the voucher |
| Restore | Edit mode (deleted) | Restores a safely deleted voucher |
| Role | View | Create | Edit | Delete |
|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes |
| Supervisor | Yes | Yes | Yes | No |
| Cashier | No backend access | — | — | — |
[!NOTE] Exact permissions depend on the Privileges Setup configured for each role. Contact your administrator if you cannot access this page.
2. Click the name or code link (blue text) of the record you want to delete.
3. In the edit form, scroll down to the bottom.
4. Click the Delete button (red button).
5. A confirmation dialog appears — click Yes to confirm deletion.
Expected Result: The record is soft-deleted — it is hidden from the active list and POS terminals but can be restored later using the "Show Deleted" filter.
[!WARNING] Records linked to active transactions or other modules cannot be deleted. The system will display an error if deletion is not allowed.

Click the + Add New button (green button).
Fill in the required fields in the form.

Fill in any optional fields as needed.
Click Save to create the new voucher.

✅ Expected Result: The new voucher appears in the list and is available for use across the system.
Q: Why is this payment mode not appearing on the POS? A: Check that the payment mode is marked as Active and assigned to the correct outlet. The POS also needs to sync.
Q: Can I edit a completed sales transaction? A: No. Completed transactions cannot be edited. You can void the transaction and create a new one if correction is needed.
Q: How do I set up a new tax rate without affecting past transactions? A: Create a new GST rate with a future Commence Date. The system will automatically apply the old rate to past transactions and the new rate from the effective date.
| Issue | Possible Cause | Solution |
|---|---|---|
| Cannot save the record | Required fields are empty or invalid | Check all fields marked with * and fill in valid data |
| Record not appearing in POS | POS terminal has not synced yet | Wait for the next sync cycle or manually trigger sync from Terminal Status |
| Cannot delete the record | Record is being used by other modules | Check if the record is linked to active transactions, products, or other settings |
| Changes not taking effect | Browser cache showing old data | Refresh the page (Ctrl+F5) or clear browser cache |
| "Duplicate" error on save | A record with the same name/code already exists | Search the list (including deleted records) for duplicates |
| Page not loading | Session expired or network issue | Log out and log back in. Check your internet connection |
[!NOTE] The following items may vary depending on your system version and configuration:
- Exact permission settings depend on your Privileges Setup configuration
- Sync timing to POS terminals depends on network conditions and sync schedule
- Some features may require additional licensing or module activation
- Field behavior may differ between EQuip versions
If you encounter behavior not described in this manual, contact your system administrator or EQuip support team.