Why Setting Up a Restaurant POS System Matters Most in Chiang Mai's High Season
Chiang Mai's high season, from the Yi Peng festival and the International Horticultural Expo through to the end of the cool season in February 2026, is when restaurants and cafés in key tourist areas such as Nimmanhaemin, Chang Moi, the Old City and Mae Rim see order volumes and customer traffic 3-5 times higher than usual. Yet the problem restaurant owners often face is that sales grow strongly, but at the close of the period net profit comes in below target, because of hidden ingredient costs (hidden food waste), non-standard portioning and leakage in the stock process. Structuring a restaurant POS system to deduct stock automatically according to standard recipes (Bill of Materials: BOM) is therefore the decisive tool for locking the ingredient cost ratio (food cost) within 30% - 35% of sales.
From an accounting and tax perspective, if the front-of-house system does not reconcile ingredients accurately, the ending inventory figure is immediately off, which distorts the cost of goods sold (COGS) calculation and leaves the financial statements failing to reflect actual performance. This article summarises 5 practical steps for setting up the point-of-sale and stock systems so that restaurants in Chiang Mai can keep a tight grip on costs, prevent waste, and be ready to hand over figures that meet the Revenue Department's requirements.
What to Prepare Before You Start Setting Up the Stock System
Before entering data into the POS system, kitchen management and the accounting team need to prepare 4 master data sets to reduce errors in unit cost calculations:
- Master ingredients data: item code, ingredient name, category (e.g. meat, fresh vegetables, spices, packaging), latest purchase price and moving average cost
- Standard recipe sheet for food and drinks: detailed ingredient quantities per dish, e.g. 120 grams of pork loin, 20 millilitres of house seasoning sauce, together with semi-finished/prep items such as base stock or premixed sauces
- 3-tier unit of measure table: define the relationship between the purchasing unit, the inventory unit and the usage/recipe unit, e.g. buy by the case (12 bottles), store by the bottle (750 ml), deduct stock in millilitres (ml)
- Reorder point & safety stock: calculated with the formula: reorder point = (average daily usage × supplier lead time) + emergency safety stock, to cover long holidays when deliveries within Chiang Mai city may be delayed
5 Steps to Set Up a Restaurant POS System for Stock Deduction and Cost Control
1. Build the Ingredient Database and Set Consistent Units (Unit of Measure)
The main error that makes stock balloon or go negative is defining units that do not match actual purchasing and usage behaviour. The system setup must define clear conversion factors:
- Example setup for liquid ingredients: cooking oil is bought by the tin (13.75 litres); set purchasing unit = tin, inventory unit = litre (conversion rate = 13.75), stock deduction unit = millilitre (conversion rate = 1,000 ml/litre)
- When the system records 1 tin received into the store, it automatically converts it to 13,750 millilitres of usable stock, so when a stir-fry dish deducts 15 millilitres, the average cost per dish stays accurate
2. Link Menu Recipes (Bill of Materials: BOM) per Dish
Recipe linking in the POS system must cover 3 structures so that stock deductions match the dishes actually served:
- Single recipe BOM: link direct ingredients according to the standard recipe sheet; when 1 dish is keyed in as sold, the system immediately deducts the ingredients by the specified weight
- Sub-recipe / batch BOM: for ingredients that must be boiled or simmered before sale, such as 5 litres of seasoning sauce or 20 litres of stock, create a semi-finished stock code and have the system deduct the base ingredients (pork bones, boiled vegetables, spices) when the kitchen presses 'Produce/Prep' into the store
- Modifiers / add-ons: link separate recipes per option, e.g. extra coffee shot (+18 grams of coffee beans), switch to oat milk (deduct 180 ml of oat milk instead of fresh cow's milk)
3. Calculate Losses and Set the Yield Ratio (Yield & Wastage Rate)
Fresh ingredients lose weight through washing, peeling, deboning and shrinkage from heat. If the yield value is not entered in the POS system, the calculated food cost will be lower than reality, leading to incorrect selling prices.
Yield formula:
Yield % = (net usable weight after trimming ÷ total weight at purchase) × 100Actual cost per usage unit = purchase price per unit ÷ (Yield % ÷ 100)
Worked case study: 2 kilograms of beef sirloin are purchased for 800 baht (400 baht per kilogram). After trimming off the sinew and fat, 1.6 kilograms of steak-ready meat remain.
- Yield % = (1.6 ÷ 2.0) × 100 = 80%
- Actual cost of cook-ready meat = 400 ÷ 0.80 = 500 baht per kilogram (not 400 baht)
- When 1 steak dish is set up (using 200 grams of meat), the meat ingredient cost in the POS system must be calculated at 100 baht (200 grams × 0.50 baht) to reflect the correct cost of sales
4. Set Up Physical Stock Counts and Reconcile the Variances (Stock Reconciliation)
Automatic stock deduction from the POS is only a theoretical figure (theoretical usage). Tight internal control relies on physical counts to detect variances:
- Cycle count: count high-value fresh items (meat, seafood, alcohol, coffee beans) at the end of every day after the shift closes, and count dry goods, packaging and condiments at the end of every week
- Variance reconciliation formula:
actual usage = opening stock + receipts during the period - closing stock from the physical count - Variance tolerance:
- Drinks and alcohol: the variance should not exceed ±1%
- Fresh produce and meat: the variance should not exceed ±2% - 3% (allowing for evaporation or trimming)
- Dry goods and spices: the variance should not exceed ±1.5%
- If the variance exceeds the tolerance, the store manager must check immediately whether it is caused by staff over-portioning, incomplete waste records, or losses at the front of house
5. Produce Cost Reports for the Accounting Close and Tax Requirements
At month end, the POS system must produce 3 key reports to hand over to the accounting team:
- Sales mix report by food and drink category: to check the share of high-margin menu items (stars) and low-margin but high-volume items (plowhorses)
- Inventory valuation report: values the inventory using the moving average or first-in, first-out (FIFO) method, for recording inventory in line with the Thai Financial Reporting Standards for Non-Publicly Accountable Entities (TFRS for NPAEs)
- Waste & spoilage report: shows the value of and reason for each disposal, serving as supporting documentation for recording tax-deductible expenses under the Revenue Code
Worked Example: The Results of Stock Control at a Restaurant in the Nimman Area
Take a 60-seat fusion restaurant in the Nimmanhaemin area with average high-season sales of 600,000 baht per month:
- Before using BOM on the POS: food cost stood at 43% (258,000 baht) because fresh produce spoiled in the fridge, staff did not measure to the recipe, and waste was not recorded
- After setting up BOM and yield values: food cost was brought down to 33% (198,000 baht), a reduction of 10% of sales
- Financial result: an immediate cash saving of 60,000 baht per month (or 720,000 baht per year)
Why this matters for corporate income tax (SMEs):
For a juristic person (company) with paid-up registered capital of not more than 5 million baht and income from the sale of goods and services of not more than 30 million baht per accounting period, the corporate income tax rates under Royal Decree (No. 530) are as follows:
- Net profit on the first 0 - 300,000 baht = exempt from tax (0%)
- Net profit of 300,001 - 3,000,000 baht = taxed at 15%
- Net profit above 3,000,000 baht = taxed at 20%
Having accurately reconciled stock and cost-of-sales reports lets the business report its accounting net profit as it really is. This protects it from the risk of overvaluing ending stock and paying more tax than necessary, or of being assessed by officials for a penalty of 1-2 times the tax plus a surcharge of 1.5% per month where the cost of sales has no supporting documents.
Stock Management Comparison Table: Manual Records vs a POS System with Automatic Stock Deduction
| Assessment dimension | Manual stock records (manual Excel) | POS with automatic stock deduction (real-time BOM) |
|---|---|---|
| Speed of deduction | Must wait for staff to count and write it in the book after closing (takes 1-2 hours/day) | Deducts each ingredient instantly when the cashier closes and settles the bill |
| Cost accuracy | Uses estimated costs; does not reflect yield or the price of new ingredient lots | Calculates actual cost in real time, linked to losses and the average purchase price |
| Leakage control | Learns that items are missing at month end, but cannot pinpoint where it happened or which staff member was responsible | Compares sales with actual usage daily, with clear separation of waste/spillage categories |
| Tax and accounting close | Receipt and issue documents often go missing; ending stock figures do not match the financial statements | Pulls the inventory and COGS reports to send to the accounting firm immediately |
Common Problems with Restaurant Stock Deduction and How to Fix Them (Troubleshooting)
- Stock shows a negative balance (negative stock error): occurs when the system has already deducted stock for sales, but purchasing has not yet recorded the goods receipt (GR) in the POS system
Fix: set up a workflow in which the receiving staff must count and post the goods into the POS store within 1 hour of delivery, or before the opening shift begins - Combo sets and free items deduct stock incorrectly: caused by creating sales buttons for individual items without linking the set relationship (parent-child recipe)
Fix: define the set product structure so the system automatically breaks it down into component ingredients, e.g. a burger combo set deducts the bun, ground beef, French fries and soft drink together according to the quantity sold - Waste write-offs not done according to Revenue Department rules: staff throw away rotten vegetables or expired meat without evidence, so the value of the waste cannot be recorded as a tax-deductible expense
Fix: set up a 'Waste Record' button on the POS that specifies the type (expired, cooking error, spoiled ingredients), and require the store manager to take photos and sign off, in line with the rules of the Revenue Department under Departmental Instruction No. Por 79/2541, which sets out the criteria for destroying damaged goods so that they count as a tax-deductible expense without VAT being charged as if they were sold under Section 77/1(8) of the Revenue Code - Internet outages during festivals: tourist areas with heavy usage may experience signal problems
Fix: choose a POS system with an Offline Mode that can record sales and hold the stock deduction data on the front-of-house terminal, then automatically sync the updates to the cloud when the signal returns to normal
Connecting Your Stock Data with Expert Accounting Services in Chiang Mai for Tax Accuracy
Managing front-of-house stock through a POS system does not only reduce kitchen costs; it is also the source of complete tax documentation. If a restaurant's income exceeds 1,800,000 baht per year, the business is legally required to register for VAT (7%) within 30 days of the date its income exceeds the threshold, and must file the monthly VAT return (P.P.30) by the 15th of the following month (or the 23rd if filed through the Revenue Department's e-Filing system). Working with an accounting service provider in Chiang Mai that specialises in the restaurant business helps turn the data from the point-of-sale system into accurate accounting and tax reports.
Categorising ingredient purchase receipts, purchase tax invoices and inventory reports from the source lets business owners use a full-service accounting service smoothly, without worrying about retroactive tax assessments, and use the actual cost figures and gross margin for tax planning to keep cash flow stable throughout the year.
Frequently Asked Questions About Restaurant POS Systems
How should a restaurant with a large menu start linking recipes (BOM) without disruption?
We recommend applying the Pareto principle (the 80/20 rule): start by linking recipes and stock deduction for the top 20% of popular menu items that generate 80% of total revenue, and for the items that use expensive ingredients (high-cost ingredients) such as imported beef steak, fresh seafood or specialty coffee beans. Once the system is stable for these groups, gradually link the recipes for snacks, side dishes and secondary drinks next.
Can spoiled ingredients or incorrectly cooked food be written off as a tax expense?
Yes, they can be deducted as a tax expense under the Revenue Code, but the business must have a process and supporting documents in line with Departmental Instruction No. Por 79/2541. It must prepare a 'damaged/expired goods report' stating the item code, quantity and cause, with photographs of the damaged goods and the signatures of the store manager and a witness to the destruction. Only then can that cost be deducted as an expense when calculating net profit without being treated as a disposal outside the system.
What level of stock variance after a physical count is acceptable?
By restaurant and café industry standards, the acceptable variance between the stock balance in the POS system and the physical count should not exceed 2% - 3% of the value of ingredients used. A variance above 5% is a critical-level risk that must be investigated immediately. The cause usually lies in 3 main areas: ingredients not weighed and measured to the standard recipe, leakage/theft by staff, or free items/waste not recorded in the system.
Summary: Set Up Your Restaurant System for the High Season with Confidence
Setting up a restaurant POS system to deduct stock and control standard recipes is the foundation of a genuinely profitable restaurant business in Chiang Mai's 2026 high season. Preparing the ingredient register, linking BOM recipes, calculating yield and reconciling physical stock regularly will close the gaps where leakage occurs, cut ingredient costs by 5% - 10%, and have the figures ready for filing taxes and closing the financial statements correctly in accordance with the law.
For restaurant and café owners in Chiang Mai who want their front-of-house and back-office accounting systems fully connected: clients who use YMTD's monthly accounting service receive the right to use the POS program for retail businesses with stock management, worth 15,000 baht, free of charge (free with the monthly accounting service). There is no monthly fee, no limit on the number of bills, offline operation is supported, and a team of experts installs the system and trains your staff on site.
Contact YMTD Accounting Partner, Chiang Mai:
Tel: 081-542-3019
LINE: @premwittawat



