Happy ERP WebsiteOpen the appລາວEN
version 3.159 · updated 24 September 2026

Happy ERP User Guide

A Lao-first system for running an online shop — for merchants selling on Facebook Live · Messenger · TikTok. Read it in order, or jump to the section you need. Everything works on a phone, and you need a connection for changes to save.

Reading this in English? The interface itself runs in Lao, English and Thai — switch language from the top-right of the app. Screenshots in this guide show the Lao interface; the English labels are given in brackets where it matters.

✦The Happy family — three tools, one shop

Back office · AI staffer · content studio — all three speak Lao and share the same shop data. Tap one for details:

Already have an agency or an outside admin looking after your Page? Give them safe access in 12c Page-care agency · Want to run your own page-care agency? See Happy Service and the service.happyerp.la guide.

Contents — 31 topics

0Get started in 3 minutes

Brand new shop? Start with Open a shop in 1 hour (Lao) — six ordered steps with a check for each, up to your first real sale. This page is the full reference.
  1. Open app.happyerp.la on your phone. The demo data is already there so you can try everything without breaking anything. To use it for real you sign up with an invite code from the Happy team (ask on the Facebook page or at support@happyerp.la) — a new shop starts empty.
  2. Add your shop: Settings → Shop tab — shop name · phone · address · Messenger page name. These print on receipts and the customer order page.
  3. Add one real product: Products → + New product — code · name · price · stock. The code is what you type during a live ("CF A3 x2"), so keep it short.
  4. Create your account: the Sign in / Sign up button in the app header (or Settings → Team & account tab → Account) → Create shop: invite code · shop name · your name · email · password (8+ characters recommended). 14-day free trial. Until you do, data lives only on this phone.
  5. Not sure what to set up first? Settings opens with a Shop readiness card listing what is still missing (name · phone · address · payment QR · delivery fees · Telegram · 2FA · shop policies for the AI · opening hours · Facebook page …) — tap a line to jump there. Stuck? Help center (💬 report a problem) · System status · Changelog
  6. Security: turn on 2FA via Telegram (Team & account › Account › Account security) · forgot your password = sign-in screen › Forgot your password? — a reset link (valid 15 minutes) goes to your personal Telegram or the shop's Telegram
The demo data is on your device only. A new real shop starts empty — sample orders, chats, staff and expenses from the demo are not uploaded to it.

New in this version (3.159 · 24 September 2026)

🏢 Page-care agencyCreate a code for the agency you hire (Settings › Shop) · they post and answer chats without seeing money, costs or settings · revoke any time
📅 Post calendar📋 List | 📅 month calendar · colour by status · tap a day to see or add posts at your best time · approve from Telegram
🤖 AI replies round the clock from the serverNo need to keep the app open · 🧪 AI test room · keyword rules (no AI credit) · remembers returning customers · greets first on the storefront
✈️ Customers can message you on TelegramA new channel with no Meta involved · the AI answers and takes orders · ✅ confirm-order and post-approval buttons in Telegram
✓ Customers confirm receiptReceived / Not received on the tracking page · points land once paid and received · 7-day thank-you follow-up
🔒 Read-only made clearProducts and customers say “read only” to people who cannot edit them · packers edit stock and alerts only
🎯 Sales targets · web chat panelTargets per month/branch/staff · “is the AI really working” report · “may churn” customers
🏷 Stickers + ZIP backupA4 or 58 mm roll stickers with Code128 barcodes · download everything as a ZIP (JSON + CSV)
🚌 Bus-terminal fee per provinceBus orders get the fee automatically · prices per size everywhere (live · AI · ads)
🆘 Help center · statushappyerp.la/en/help (20+ questions · 💬 report a problem) · happyerp.la/status · happyerp.la/en/changelog
🌐 Your own domainEvery link (AI chat · tracking · promos) uses your domain · re-checked every 24 h
🧑‍💼 Happy ServiceRun your own page-care agency at service.happyerp.la — new guide

Full list for every version: happyerp.la/en/changelog — the app updates itself, nothing to install.

Previous version (3.125 · 11 September 2026): agents complete · activity · docs

🤝 Agents menu, end to endEverything about agents in one menu with 6 tabs · sign-up link + shop approval · agent promos · target bonus · report + accounts 2300/5500
💳 Credit with a termLimit + payment term · 4-step dunning + selling blocked when overdue · debt age · low-balance alert · payout requests (agent asks → shop marks transferred) · monthly statement
🕒 Activity — who did whatEvery action per person, including price/customer/settings edits (old→new) · filter, search, CSV/PDF · nightly Telegram summary
📊 Packed · shipped KPI per personPackers and shippers get numbers · order history shows which field changed, old→new
📘 Agent management guide · 📖 Agent guide · 📜 Policy3 documents in 3 languages · "Insert template" for shop terms in the app
🛍 Storefront header no longer wraps in ENOne-line header in every language · campaign strip translates on switch

Earlier (3.97 · 3 September 2026)

✅ The last unit can be confirmed againOrders from the shop page or chat for the last piece in stock used to be refused with “not enough stock” while the item was still there — the order's own reservation was counted against it. Fixed
📵 Two devices no longer deduct stock twiceOwner and staff confirming the same order at once, or two live consoles open — counted once now
💵 Refunds follow what the customer actually paidBills with a discount or coupon used to be refunded at list price (too much) — now pro-rated, with the points from that bill taken back, and you choose cash/transfer/QR
🎟 Private couponsA make-good coupon meant for one customer used to appear on the storefront for everyone — there is now a “show on the shop page” tick (untick it and only people who know the code can use it)
⚡ The app is ~10× lighterThe payment QR image is stored as a file instead of being embedded in the data that syncs every minute — 174 KB down to 15 KB per round for a shop with a QR
🔒 Permissions and honestyPackers can no longer create/cancel orders or message customers as the shop · admins can no longer erase the whole shop (owner only) · errors state the real reason instead of blaming the connection
🤝 Who we areThe storefront shows delivered orders · customers · repeat rate · stars computed from the ledger — the shop cannot type over them, so new buyers dare to transfer
📘 Import products from page postsNo retyping — the post is read and name · price · code · photo are extracted for you to confirm · pick the Page and walk back through older posts to the very first one
🛡 Product warrantySet a number of days per product — the customer sees the warranty end date on the tracking page, counted from delivery
📊 Which post sold · ⭐ reviews · ⚠️ negative commentsRevenue per post · real reviews on the storefront (with the customer's consent) · negative comments alerted to Telegram at once
🌏 Customer pages in 3 languagesThe order page and the tracking page in Lao · English · Thai — Lao is always the default
🧭 The advisor really arrives by itselfEvery Monday 07:40, delivered to Telegram too — nothing to press

1Overview

The first screen answers one question: what needs attention today?

Below that, Today's watchlist lists rows you can tap straight through to the thing that needs fixing — an overdue COD remittance, a slip that failed verification, a customer who has been waiting too long, a parcel the customer says has not arrived.

Sales target — set it in Settings → Marketing → Sales targets (month · branch · staff) and the overview shows the % reached and whether you are on pace. The call queue and COD follow-up live here too (4e).

2Live console — turn CF comments into orders

This is the screen for selling during a Facebook Live. Comments arrive on the left; you turn them into orders without leaving the screen.

  1. Start your Live on Facebook as usual, then open Live in the app.
  2. When a customer comments "CF A3 x2" the system reads the product code and quantity, reserves the stock immediately, and creates an order in waiting status.
  3. Tap the row to confirm, add the phone number and address, and send the confirmation message.
Why reserve at CF time? Because two customers can comment on the same last item within the same second. Reserving at the moment of the comment is what stops you selling stock you no longer have.

Comments containing a phone number are hidden automatically so a competitor watching your Live cannot collect your customers' numbers.

3Inbox — every Page, one queue

Messenger messages and post comments from all connected Pages arrive in one list, so nothing is missed because it came in on the wrong Page.

Behind on replies? Tap Ask Happy and the AI drafts an answer from your real prices and stock. You read it, edit it, and send. It never sends by itself unless you switch that on (Settings → Selling tab → Automatic).

🆕 28/8 — customers confirm their own CF. When a buyer types “ເອົາ A1 M” (or sends a product photo with “I'll take this, 2 pcs” — the AI matches the photo against your catalog), the system reserves stock for 15 minutes and sends a card with three buttons: ✅ Confirm order · ✏️ Edit/add items · 🔎 Track. The order only becomes real when the customer confirms — no ghost orders. Unconfirmed holds return to stock automatically and the customer is told. Shops with several Pages can restrict a product to certain Pages and set a per-Page price (product form → “Sold on which pages”). A custom post-order note (thank-you, delivery time, unboxing-video reminder) can be set in Settings → Shop.

The 24-hour rule is Meta's, not ours. You can only message a customer through Messenger within 24 hours of their last message. After that the app will not let you send, to keep your Page safe.

3bHappy AI — answers customers around the clock

The AI replies from the server, day and night — you do not need to keep the app open, and it never answers twice. It answers from your prices · real stock · promos · delivery fees and holds stock as soon as a customer types a product code.

  1. Turn it on: Settings → Selling → Automatic → Let Happy reply to customers (off by default). Channels: storefront chat and Telegram work for every shop · Messenger/CF comments once the Page is connected (pending Meta app review — 12b)
  2. Teach it: Settings → Selling → What the AI knows & tells customers — policies · opening hours · quick replies + the knowledge field on each product. Empty = the AI does not invent; it asks the owner instead
  3. Try it first: in the same card tap 🧪 Try chatting with your AI and type like a customer (“how much is A1?” · “free delivery?”) — no orders, no stock touched, no real owner questions
  4. Set money limits: Settings → Selling → AI money rules — maximum discount · refunds it may give on its own · free-shipping threshold. Outside the limits (or 0) the AI asks the owner on Telegram and the answer flows back to the customer
The AI never invents numbers: totals on the confirmation card are computed by the system · discounts/refunds beyond your limits always go to the owner first · phone numbers in the chat are masked before anything reaches the AI.
AI test room in Settings
🧪 AI test room — type like a customer and check the answers before real customers see them (sample data, Lao UI)

4Orders

Every order moves through the same states: waiting → CF → paid → packed → shipped → delivered (or cancelled / returned). The state is what drives stock, commission and reports, so keep it honest.

Stepping back is allowed. If you mark something shipped by mistake, step the status back — the stock, commission and points all reverse exactly. Nothing is left half-applied.

One picking list — collect everything in a single walk

With 20 orders you should not walk the shelves 20 times. Press Picking list on the Orders page and the system merges every order into one list.

  1. Set shelf locations first (once): Products → the Location column, type A-1 · B-2 to match your real shelves — the list is then ordered along your walking route (A-2 before A-10), and anything without a location goes to the end
  2. The screen shows location · code/size · product · total quantity, and which orders each line belongs to (for example #7001×2 #7002)
  3. Press Print picking list — page 1 is the collection list (with tick boxes), page 2 splits it back into one bag per order
  4. Collect everything once from page 1 → split into bags using page 2 → attach the labels
  5. When packing is done press Mark packed once (it only marks orders that are paid)

Only orders that are confirmed (CF) or paid and not yet shipped are counted — counter sales (POS) and anything already shipped are not.

4bIn-store sales (POS)

For customers standing in front of you. Scan or type the code, take cash or transfer, print the receipt. The sale deducts from the same stock as online orders, so the two channels can never disagree.

Do not run a physical shop and online sales on separate stock counts. That is how shops end up selling the same item twice.

4dChecking transfer slips

A customer sends a slip photo. Tap Check slip and the system reads the QR code inside the image and asks the bank whether that transfer actually exists.

4fHappy Shop storefront + order chat

Your own storefront page with a chat panel attached: the customer browses, asks a question, and orders inside the chat without ever opening Messenger.

4gLoyalty points and referral links

Points: customers earn 1 point per 10,000₭. You set what a point is worth in kip (Settings → Marketing tab → Loyalty points). 0 = off. Points land once the money is in and the customer has received the goods (not at order time), so cancelled or returned orders never leave points behind. Customers see them on the tracking page and can spend them at checkout, on the tracking page and at the POS.

Referral links (friend brings friend): a customer shares the link from their tracking page. The friend gets a discount; the referrer earns points once the friend's order is paid and received. Self-referral is blocked by phone number, and there is an automatic cap of 10 orders per referrer per month.

4mCampaigns / promotions — 9.9 · 11.11 · New Year

Time-boxed price cuts, set once and applied everywhere — Settings → Marketing → Campaigns / promotions (owner and admins).

4hAffiliates — paid in real money

Different from referral links: affiliates are people you choose, and they are paid a percentage in kip, not points.

4iPost to your Facebook Page + post calendar

Post photos · albums · videos · Reels to the Page from inside the app — the Posts menu. The real point: staff can post without being Page admins.

Posts in the month calendar view
📅 Post calendar — colour by status · tap a day for its list (sample data, Lao UI)

🔑 Per-person permissions — in Settings → Team & account: Post (compose/send) and Approve posts (release to the Page). No permission = the page is hidden entirely. Page tokens stay on the server ⇒ when someone leaves, revoke in the app and you're done.

⏳ "Posting…" on the button = the system is sending — don't press again. On failure the reason is shown and "Retry" is available.

4jMedia library from Studio (new 7 Sep)

Photos and clips made in Studio can be posted from Happy ERP directly — no download/re-upload.

📌 "One channel, one owner" — Facebook posts come from Happy ERP only · TikTok/YouTube stay in Studio. Otherwise content goes out twice and nobody keeps the full record.

4kBilling — pay yourself in the app (updated 3 Oct)

Renew your subscription yourself, no waiting for anyone — the Subscription menu (or Settings → System → Subscription & plans) · shop owner only.

4lAgents (center seller) — others sell, you ship (new 10 Sep · complete 11 Sep)

An agent (reseller, provincial seller, a friend who wants to sell) holds no stock: they sell through their link/QR or key in orders at happyerp.la/agent, pay the agent price from a wallet inside the system, you pack and ship to their customer, and the difference is theirs. Different from affiliates (4h): an affiliate only has a link + commission, no wallet/agent price. Everything lives in the Agents menu (6 tabs: Overview · Manage · Orders · Customers · Report · Promos+Bonus) · money actions are owner-only.

4eCall-to-confirm queue and commission

COD orders are worth confirming by phone before you ship. The queue lists who to call, and records the outcome. Staff commission is calculated per order, and a product-level rate beats the staff-level rate. Commission never counts the delivery fee, and discounts are deducted proportionally.

5Products

📘 Import products from your page posts (new 31 Aug)

If you have been selling from your Facebook page for a while, you do not need to retype everything. Tap 📘 From posts on the Products screen — the system reads your latest posts and pulls out name, price, code and photo.

🤝 Who we are — so new buyers dare to pay (new 31/8)

People who have never bought from you drop out at the last step: basket chosen, but not willing to transfer money to a stranger. The order page now carries two things — and they are not the same kind of thing:

🛡 Warranty (new 31 Aug)

Put a number of days in the Warranty (days) field on the product form. The customer sees the days remaining on their tracking page — that page is the proof, so there is nothing to argue about.

6Stock

Stock moves are a ledger, not a number you overwrite: every change records what happened, when, and who did it.

A reservation that is never confirmed expires by itself after 15 minutes and the stock returns. That is why an abandoned live comment does not lock your inventory forever.

7Customers (CRM)

Customers are keyed by phone number, so the same person is recognised whether they come from Live, Messenger or the storefront.

Notes, flags and risk scores are never shared between shops. They belong to your shop and are covered by section 1 of the Privacy Policy.

8Delivery & COD

Prepayment only (no COD) — set and remove

The Prepay tag in the product list means the product accepts bank transfer only: any bill containing it must be paid before shipping (storefront · chat · form · the AI asks for a transfer). It can be set at 3 levels:

Removing the tag: check which level set it — if the product is on «Shop default (COD allowed)» but still shows the tag, its category is ticked: open Settings → Money & shipping and untick that category (saved instantly). Want only some products prepay-only? Untick the category and set those products individually. The switch takes effect once the shop has a receiving QR/bank account.

9Reports

The number that matters is net profit: revenue − cost of goods − delivery paid − commission − expenses. Everything else is a step towards it.

9bActivity — who did what, when (new 11 Sep)

The Activity menu (sidebar/More · or Settings › Team › 🕒 next to a name) records every action by every user — logins (device · IP) · orders (create · status · field edits old→new) · stock · chat replies · data edits (products price/cost/delete · customers · expenses · coupons/promos · settings · shipping fees) · agents. Server-side records cannot be edited from the app.

10Tax & VAT invoices

If your shop is VAT-registered, set the rate and your taxpayer number in Settings → Money & shipping tab → Tax & accounting.

11bWhich post sold · reviews · negative comments (new 31 Aug)

📊 Which post sold

The Reports screen has a new panel showing which post earned money — tap a name to open that post.

⭐ Real reviews on the storefront

New customers hesitate to transfer money because they do not know the shop. Product pages in kaishop now show real reviews from people who bought, not just a star average.

⚠️ Negative comment alerts

An angry comment under a post is seen by everyone else before the shop notices. The system now alerts your Telegram immediately with a link to that comment.

11Advisor — a weekly read on the shop

Once a week the system writes a short report from your real data: what grew, what slipped, which product is tying up cash, which customers stopped coming back, and what to do about each. It also knows the Lao festival calendar, so it warns you to stock up before the weeks that matter.

It really does arrive on its own (since 31 Aug): the report is written every Monday at 07:40 — you do not have to press anything. Shops with Telegram connected also get the full report there. Want it sooner? Tap Analyse now any time.

12Settings

Settings is split into 8 tabs, one job each — one card per topic. At the top: the Shop readiness card (x/y set · tap a line to jump to it) and a settings search across every tab. Deep links: #settings/money opens that tab. Each role sees only the cards it may use.

Settings with its tabs and the Shop readiness card
Settings — tabs on top · Shop readiness (sample data, Lao UI)
TabWhat is in it
ShopYour shop (name · phone · sender address on labels · usual courier · WhatsApp) · promises to customers / storefront policies · who we are · reports from Happy /care · 🏢 Page-care agency (12c)
Money & shippingGet paid — LAO QR / BCEL OnePay (recommended: upload the QR your bank issued + the account number for slip checks) · exchange rates ≈฿/$ (books stay in kip) · order timers & restock lead time · delivery fees (default · province · district · free over · bus-terminal fee) · tax & accounting
SellingAutomation (Let Happy reply to customers · CF replies · live confirm · confirmations/status updates · payment reminders · chat round-robin · CAPI) · what the AI knows + 🧪 test room · AI money rules · keyword rules · quick replies · posts · reply example library
MarketingSales targets · campaigns/promotions · coupons · loyalty points · referral links · affiliates · marketing automation (Web Push: birthday · win-back · 7-day thank-you)
AgentsShortcut to the Agents menu + the agent management guide
Team & accountTeam & permissions (role · commission % · salary · 🕒 activity per person) · account & server sync (users · post/approve rights · 🏢 seats) · account security (2FA · sessions) · close account
ConnectionsConnect Facebook + several Pages · Telegram (shop bot · accept customers via the bot) · storefront/order page + your own domain · Meta CAPI · GA4
SystemDisplay (light/dark) · subscription & plans · backup & import (JSON or ZIP: JSON + orders/products/customers CSV) · recover & audit · API & webhooks · user guide · data

On a phone the tabs wrap onto two rows so every tab is visible without scrolling sideways.

12bConnecting Facebook — one click, or by hand

Quick way: Settings → Connections tab → Connect Facebook → sign in → tick the Pages → done. About 30 seconds. You do not create a Meta app, copy a token or configure a webhook, and the system renews the tokens for you.

By hand: the fields below the button still work for a shop that prefers to use its own Meta app. You provide the Page token, app secret and verify token yourself.

While our Meta app is still in review, one-click connect works only for accounts we have added as testers. Ask the Happy team if you need it before approval, or use the by-hand fields. Automatic AI replies in Messenger / CF comments need a connected Page and the switch Let Happy reply to customers (Settings → Selling tab → Automatic · off by default). Web chat on the kaishop storefront is answered by the AI for every shop already, no Meta approval needed — same switch.

12c🏢 Page-care agency — access without sharing a password

Hire an agency or outside admin (Happy /care, or a marketing agency on service.happyerp.la) to post and answer chats for you: you create a code for them, and they get a 🏢 seat with marketing rights only. No password to share, nobody to add as staff · only the shop owner sees this card.

  1. Settings → Shop tab → 🏢 Page-care agency → Create a code for the agency
  2. You get an 8-character code such as ABCD-EFGH — shown in full only once · single use, valid 7 days · send it to the agency privately · lost it? New code (the old one stops working at once)
  3. The agency enters the code on service.happyerp.la → the card changes to “Managed by … · since …”
  4. Revoke: Revoke agency access → confirm — effective immediately (the agency is thrown out of your app) · to reconnect you need a new code
The agency can see and doThe agency can't see or change
Posts and the post calendar (sent to you for approval)
Customer chats and comments
Customer list · products · customers' order status (read only · no amounts)
Monthly report numbers: orders · sales · messages · posts
Creating/editing orders · money (order amounts · daily sales) · bank accounts · slips · costs
Shop settings · Happy billing
Users · passwords · integrations (Facebook token · API)
Page-care agency card after creating a code
Code created — code · expiry · what the agency can and cannot see (sample data, Lao UI)
Page-care agency card when linked
Linked — managed by … · Revoke agency access

13Several Facebook Pages in one shop

One shop can connect as many Pages as it manages. Messages from all of them land in the same inbox, each tagged with the Page it came from, and replies go back out through the right Page automatically.

The panel shows, per Page: total messages · unread · when the last message arrived · when it was linked. That is how you tell a Page that is genuinely working from one that is just listed.

14Account & server sync — from demo to real

Until you create an account, everything lives on the device. Once you do, data syncs to the server and the shop can be opened from any phone by anyone on the team.

15Telegram bot — one set of data

Connect a Telegram group and the shop gets order alerts, daily summaries and stock warnings there. The bot reads the same data as the app — it is another window onto one system, not a second system.

Customers can message your shop on Telegram (new 24 Sep)

  1. Set up the shop's own bot first → Settings → Connections → Telegram → switch on Accept customers via this bot
  2. Share t.me/yourbot in your bio · posts · QR — customers write straight in, no Meta involved
  3. The AI answers around the clock (3b) · orders work like web chat (storefront prices) · staff reply from Inbox, tagged Telegram

16Connecting other systems (API)

For shops that want their orders inside their own accounting or delivery software.

Outbound webhooks include the customer's name and phone. Send them only to a system you control — see section 4 of the Privacy Policy.

17Shortcuts & tips

18FAQ & troubleshooting

Customer messages are not arriving

Stock looks wrong

Open Stock → history for the item. Every move is recorded with a reason and a time, so you can see exactly where the count diverged. Do not "correct" the number by typing over it — do a count, which records the difference properly.

The AI answered something wrong

The AI only ever sees price, stock, delivery fees and the product knowledge you typed. If it said something wrong, the usual cause is stale product knowledge. Fix the product, and turn the assistant off meanwhile (Settings → Selling tab → Automatic).

I created my account and my demo data went with it

A new shop starts empty — the demo on your device is not uploaded, and since 25 Sep no sample chats, staff or expenses leak in either. If an older account still shows sample rows, delete those rows or ask support@happyerp.la to help.

Customers say the AI is not answering

Check three things: is Let Happy reply to customers on (Settings → Selling → Automatic) · was the bot paused for that room (chat header) · did today hit the daily cap (the customer's chat header says “an admin will reply” — see Reports → Web & Telegram chat). Messenger/comments need a connected Page first (12b).

Do I have to give an agency my password?

No — create a code in Settings → Shop → 🏢 Page-care agency. They never see money, costs or settings, and you can revoke at any time (12c).

Two people edited at once and something is missing

The newer change wins, and the device that lost keeps a rescue copy — Settings → System tab → Restore & audit.

Who do I contact?

Help center (FAQ + 💬 report a problem, no login) · system status · email support@happyerp.la or phone/WhatsApp +856 20 5226 6557.

↑