Settings Reference
Every server setting, company prop, master-data code, document type, order and product prop and device preference that changes how the CloudPOS POS app behaves, with defaults and effects.
This page lists every setting the POS app reads, where it comes from, its default and what it changes on screen. Use it when a button is missing, a charge is zero or a screen behaves differently from another store.
Most settings are changed by the company admin in the Admin Panel (company props, onboarding, master data, document configuration). The POS app reads them; staff cannot change them from the counter.
How to read the tables
- Backend default is the value seeded for a new company. "not seeded" means the backend does not create the code; the admin must add it as a company prop if they want it.
- App default is what the app uses when the code is missing from the response.
- A boolean setting is on when its
statusistrue,"true","1"or1. Text settings usevalue. - After an admin change, the app picks it up on the next startup sync, store switch or Settings → Offline Data → Sync for "website settings".
1. Website settings and company props
Source: GET /api/v1/website-settings?store_id=. The server merges all company props with a few synthetic entries (COMPANY_NAME, THEME, CURRENCY, DISCOUNT_AND_COUPON, ZATCA_PHASE_1, ZATCA_PHASE_2). Each row looks like this:
{
"name": "Show Cart Control",
"code": "SHOW_CART_CONTROL",
"value": "",
"status": "true"
}Billing and checkout
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| on | off | Turns on barcode-scan sales mode in billing (desktop and phone). |
| off | off | Shows the item code column in the cart and the item code field on Add Product. |
| off | off | Shows the Tax Amt column in the cart. |
| not seeded | off | Shows the Tax% column in the cart. |
| off | off | Shows the MRP column in the cart. |
| off | off | Shows the history icon with the selected customer's last purchase price on cart lines. |
| not seeded | on | Shows Confirm Order. |
| on | on | Shows Confirm and Print. Off = no Confirm and Print button. |
| not seeded | off | Shows Confirm & Whatsapp in Finalize Order. |
| not seeded | off | Confirm Order confirms directly without opening the Finalize Order dialog. |
| off | off | Confirm and Print confirms and prints without the dialog. |
| off | off | Skips the customer step in checkout. |
| set at onboarding (walk-in phone) | off | Value is a phone number. That customer is selected automatically for walk-in sales. |
| not seeded | on | Hides the default (walk-in) customer phone on prints and PDFs. |
| CASH | empty | Payment method preselected in checkout. |
| empty | empty | Delivery method preselected (for example Store Takeaway). |
| not seeded | off | Adds delivery date and time fields in checkout and the delivery dialog. |
| on (general setting) | off | Shows the Discount & Coupon panel (flat, percentage, coupon). Off = no discount entry. |
| off (general setting) | off | Rounds the net total to the nearest whole number before delivery is added; |
| 0 (off) | off | Delivery charges apply only while this is on. When on, delivery is free when the net total is at or above |
| 1000 | – | Backend credit limit for customers. |
| off | off | Shows the B2B/B2C customer type selector in billing and uses the B2B printer profile for B2B customers. |
| off | off | Enables Pine Labs card terminal payment. |
| off | off | Prints two copies of every bill. |
| off | off | Value is a security key. Staff must enter it before clearing the cart or removing items. |
| INR (general setting) | empty | Currency label on all amounts and amount in words. SAR in the demo. |
| on | empty | Fallback receipt title when the document configuration has none. |
| empty | empty | Printed on some receipt templates and shared PDFs. |
| off | off | Pincode becomes required on address deliveries. |
Stock and products
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| on | on | Off = cart quantity is limited to stock, with an oversell approval dialog. |
| off | off | Hides zero-stock products, batches and variants. Works only when general |
| on | on | Allows alternate sale units (pack, box) on products and in billing. |
| off | off | Shows variants on Add Product and in price display. |
| off | off | Downloads |
| on | – | Backend barcode print option. |
| 111000 | – | Backend prefix for generated barcodes. |
Sales mode and shifts
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| on | on | On = offline-first: the sale is saved and printed on the device and sent in the background. Off = online-first: the app waits for the server before clearing the cart and printing. |
| off | off | Billing is blocked with "Shift not opened" until Open Shift is done. |
| off | off | At Select Store, if a past business day is still open, the app asks Day Close Pending … Do you want to close it now? (Yes opens Day Close, No continues). |
| not seeded | today | Starting period of the dashboard: |
Restaurant and KOT
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| off | off (code paths treat a missing settings payload as on) | Prints the KOT on the kitchen printer when sending to the kitchen. |
| on | on | Shows Send Kitchen. |
| off | off | Shows KOT + BILL (send to kitchen and bill in one step). |
| off | off | KOT + BILL marks the items SERVED at once. |
| off | off | Allows KOT + BILL for table (dine-in) orders. |
| 100 | – | Starting order token number (printed when |
ZATCA
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| off (general setting) | off | Local ZATCA QR on prints, Phase 1 print in the invoice actions, and the VAT/CR business fields on the customer form. |
| off; can be turned on only when Phase 1 is on | off | Phase 2 print, resync and bulk send in the invoice list, the failed-ZATCA banner and the ZATCA overview on the dashboard. |
| not seeded | – | Backend: send invoices to ZATCA automatically when they are created. |
Subscription
Code | Backend default | App default | Effect in the app |
|---|---|---|---|
| active | off | Fallback status when sign-in does not return one: |
| – | – | Message shown with the status. |
| – | – | Expiry date shown. |
| – | – | Link to manage the subscription. |
Read but not used by the app
Code | Backend default | Note |
|---|---|---|
| "Mon - Sat: 08:00 - 22:00" | Parsed, not shown. |
| on | Storefront and backend use. |
Other company props (not used by the POS app)
These exist on the server for the website, e-commerce and documents. The POS app does not read them.
Group | Codes |
|---|---|
Document prefixes |
|
Company content |
|
Loyalty |
|
Returns |
|
Documents |
|
Storefront |
|
Login methods |
|
| |
Defaults |
|
Website texts |
|
ZATCA onboarding |
|
2. General settings
Source: GET /api/v1/general?store_id=. Response:
{
"status": "success",
"message": "Success",
"data": { "stock_enabled": true }
}Key | Backend code | Backend default | Effect in the app |
|---|---|---|---|
|
| 1 | Stock tracking on or off. Cached on the device as |
| – | – | Parsed by the app, no screen uses it. |
The backend keeps other general settings in the same table: TAX_ENABLED (0; when off, the server calculates tax as 0), PRICE_ROUND_OFF (0), POS_CREDIT_PRICE_ENABLE (0), CURRENCY (INR), DISCOUNT_AND_COUPON (1), EMPLOYEE_ENABLED (0), ZATCA_PHASE_1 (0), ZATCA_PHASE_2 (0). CURRENCY, DISCOUNT_AND_COUPON, ZATCA_PHASE_1 and ZATCA_PHASE_2 reach the app as entries in website settings.
3. Admin settings
Source: GET /api/v1/admin-settings. These are platform-wide, not per company.
Code | Type | Effect in the app |
|---|---|---|
| file (URL) | Logo at the top of the side menu. Cached on the device. |
| file (URL) | Not used by the POS app. |
4. Master data codes
Source: GET /api/v1/master-data-values?code=<CODE>&store_id=. Each value has id, value, description, and may have code, label and translations.
Code | Seeded values | Used in the app for |
|---|---|---|
| COD, ONLINE, CHEQUE, UPI, CASH, CARD | Payment methods in checkout. Optional fields: |
| PRICE on; MRP, PURCHASEPRICE, UNIT, HSNCODE, TAXRATE, WHOLESALEPRICE, WHOLESALEMINUNIT, EXPIRING_DATE off | Which fields split stock batches into separate choices in billing. App default: price + unit. Only the app reads this. |
| 500, 200, 100, 50, 20, 10, 5, 1 | Cash counting in Open Shift and Day Close. |
| not seeded (create per company) | Quick notes on restaurant items, for example NO ICE, EXTRA SPICY, LESS SUGAR. |
| RACK 1–10 | Rack picker in stock and purchase. |
| TABLE_ONE | Restaurant tables. |
| accounting list | Category in Create Expense. |
| parcel, speedpost, registeredparcel, express | Create Delivery (external logistics) dialog. |
| surface, air, ship | Create Delivery dialog. |
| Prepaid, COD, Open Box Delivery | Create Delivery dialog. |
| PENDING, PAID, FAILED, INPROGRESS | Payment status values. |
| OUT FOR DELIVERY, DELIVERED | Delivery status values. |
| START, READY, SERVED | Kitchen item statuses. The ids differ per company. |
| CRNUMBER, VATNUMBER | Business fields on customers and suppliers. |
| KG, LT, DZ | Not read by the app; units come from |
Dining areas (rooms, tables, chairs) are not master data. They come from GET /api/v1/restaurant-dining/list.
5. Document configuration types
Source: GET /api/v1/document/document-configs?store_id=&language=. See Printing for fields and display flags.
Type | Used by the app for |
|---|---|
Bill | thermal sales receipt; |
Bill A4 | A4/A5 sales bill |
Return Bill | return receipt |
Sales and Return Bill / Sales and Return Bill A4 | sale and return on one print |
Credit Note | credit note after a return |
Invoice | invoice print and share |
Receipt | payment receipt |
Voucher | customer voucher |
Supplier Voucher | supplier voucher |
Quotation | quotation print and its terms |
Kitchen Order | KOT |
Barcode | barcode stickers |
Customer Statement / Supplier Statement | ledger statements |
Server-only types: Delivery Note, Purchase Order, Supplier Invoice, General Payment Voucher, Payslip, Email, ZATCA Invoice, ZATCA Phase 2.
Template options returned with the configs: default, bill, bill-a4, quotation, sales_and_return_bill, sales_and_return_bill_a4, return_bill, credit_note, receipt, voucher, payslip, email, supplier_invoice, delivery_note, customer_statement, supplier_statement, kitchen_order, barcode.
6. Printer settings (server defaults)
Source: GET /api/v1/document/printer-settings.
Key | Demo value | Device preference it fills |
|---|---|---|
| A4 |
|
| bilingualcenteredtax_invoice |
|
| A5 |
|
| boxedheadertax_invoice |
|
Allowed paper sizes: 58mm, 80mm, 112mm, A4, A5, PDF. Values apply only where the user has not chosen on this device, except right after Select Store.
7. Order props
Extra values stored on an order as order_props (props_code, props_value). The app reads:
Prop | Meaning |
|---|---|
| customer contact captured on the order |
| delivery contact |
| requested delivery date and time ( |
| status text |
| restaurant token number |
| car number for Car Delivery |
| customer balance at the time of the order |
8. Product props
Prop | Meaning |
|---|---|
| warranty printed on the bill ( |
|
|
| product list filters and variant attributes |
9. Delivery method codes
Source: GET /api/v1/logistics/list-delivery-methods. Each method has id, name, label, code, translations, requires_car_number, requires_address, icon_key, sort_order, status, prices[].
Code | Kind | Notes |
|---|---|---|
| takeaway | used in the demo sale ("Store Takeaway") |
| pickup | no address |
| car | asks for the car number |
| address delivery | asks for an address; pincode required when |
| third-party courier |
The demo store also lists Toyou, Hungerstation and Dine In as named methods. A method shows its price, or Free. The charge is applied only when FREE_DELIVERY_MINIMUM_AMOUNT is on.
10. Device preferences
Stored on the device only. A reinstall starts with none of them. They are never sent to other counters.
Group | Preferences |
|---|---|
Session |
|
ZATCA |
|
Sync |
|
Counter |
|
Printing |
|
Stock |
|
Other |
|
The counter number (1–999, unique per store) and the daily receipt sequence live here. After a reinstall, set the counter number again in Settings → POS Counter Identity and use the last-bill override so receipt numbers do not repeat. See Settings and sync.