Fern × Lakpahana · Proposal · September 2026

One connected retail platform for Lakpahana.

A multi-company POS, a redesigned website with e-commerce built in, and a single backend that keeps sales and stock in step across every counter and every online order. Delivered in phases, and handed over in full.

View delivery plan See the architecture
Lakpahana logo
Prepared for Lakpahana by Fern
4Workstreams, one platform
7Delivery phases
~32Weeks, indicative, to full handover
100%Source code and systems owned by Lakpahana
01 — The brief

What Lakpahana asked for

A

A multi-company POS system for our retail operations

Section 03 →
B

Redesign and development of the Lakpahana website with e-commerce built into the same website

Section 04 →
C

Integration between the website, POS, sales, stock and other relevant backend functions

Section 05 →
D

Full source code, administrative access and system ownership to be handed over to Lakpahana

Section 08 →

Fern will deliver these as one system, built for Lakpahana's four companies under one main company. The POS and the online shop sell from the same product catalogue and draw from the same stock ledger, so a sale anywhere is reflected everywhere within seconds.

02 — Architecture

Every channel on a single core

Sales channels on the left, the shared Lakpahana core in the middle, third-party services on the right. Channels never talk to each other directly; they all read and write through the core.

Channels
POS terminalsEvery outlet, every company. Works offline, syncs when back online.
Website & online shopBrand site, catalogue, cart, checkout and customer accounts.
Back officeHead office admin: products, pricing, stock, reports, users.
Lakpahana core
Unified backend & API
Product catalogue
Stock ledger
Sales & orders
Pricing & promotions
Customers & loyalty
Suppliers & purchasing
Companies & outlets
Users & permissions
Reporting
Audit log
PostgreSQL · single source of truthBacked up daily
External services
Payment gatewayOnline card & wallet payments
Courier / deliveryDispatch and tracking
AccountingDaily sales & tax exports
SMS & emailReceipts, order updates
One catalogueA product is created once and published to the POS, the website, or both.
One stock ledgerEvery movement — sale, return, transfer, receipt — is a line in the same ledger, per location.
One set of numbersHead office reports combine in-store and online sales, split by company, outlet and channel.
03 — Workstream A

Multi-company POS

Lakpahana operates four companies under one roof. Today a customer buying from more than one of them receives a separate bill from each. The new POS gives the customer one bill and one payment, while every company keeps its own sales, tax and accounts.

LakpahanaMain company · HQ view
Company 1Own tax & ledger
Company 2Own tax & ledger
Company 3Own tax & ledger
Company 4Own tax & ledger
Shared outlets & POS terminalsSell products from all four companies
Companies, outlets and terminals are added from the back office without new development.
One billItems from all four companies on a single bill and payment, split automatically per company
SellingBarcode scanning, product search, quick keys, receipt printing, cash drawer control
PaymentsCash, card, QR, gift vouchers and split payments on one bill
PricingPrice lists per company or outlet, promotions, discounts with manager approval
ReturnsReturns and exchanges at any outlet, including for items bought online
StockGoods received, inter-outlet transfers, stock counts, low-stock alerts
ShiftsCashier log-in, opening float, shift close and end-of-day Z report
CustomersCustomer lookup by phone, purchase history, loyalty points shared with the website
AccessRoles for cashier, supervisor, outlet manager and head office; every action logged
OfflineKeeps selling through internet outages; queued sales sync automatically
Consolidated billing

One bill for the customer, four sets of books for Lakpahana

Today
Bill · Company 1Payment 1
Bill · Company 2Payment 2
Bill · Company 3Payment 3
Bill · Company 4Payment 4
Four bills, four payments, a longer wait at the counter.
With the new POS · customer receipt
Bill no. LP-000123
Item [C1]0,000.00
Item [C2]0,000.00
Item [C2]0,000.00
Item [C3]0,000.00
Item [C4]0,000.00
Total · one paymentLKR 00,000.00
Per-company tax breakdown printed below the total where required.
One bill, one payment, one receipt.
Behind the scenes · core splits the sale
Bill LP-000123split by company ↓
Company 1sales · tax · stock
Company 2sales · tax · stock
Company 3sales · tax · stock
Company 4sales · tax · stock
Each company's share is recorded in its own ledger with its own invoice reference.
Every product has an ownerEach item in the catalogue is linked to the company that sells it, so the split happens automatically at the till.
Payments allocatedCash and card takings are allocated to each company in proportion to its items, and shown on the end-of-day report.
Separate and combined reportsAccounts see each company on its own; management sees the whole of Lakpahana together.
Same onlineA website order with items from several companies also gives one checkout and one payment, split the same way.
Receipt layout is illustrative. Exact tax and invoicing format will be confirmed with Lakpahana's accountants during discovery.
Fast checkout

Billing that doesn't keep customers waiting

Producing a bill is slow today because each company is billed separately and every step waits on the network. The new POS removes the repeated steps and does all the work on the terminal itself.

Today12 steps
C1 ringpayprint C2 ringpayprint C3 ringpayprint C4 ringpayprint
New POS3 steps
scan allpayprint Company split, tax and stock updates run automatically in the background
01Catalogue stored on the terminalProducts, prices and barcodes are cached locally, so a scan is answered instantly without a round trip to the server.
02Save first, sync afterThe sale is committed on the device and the receipt prints immediately. Upload to the core happens in the background.
03Card terminal linkedWhere the bank's device supports it, the bill amount is sent to the card machine automatically; no re-keying.
04Direct printer connectionThermal printers are driven from the terminal over USB or local network, not through a remote print service.
05Built for the counterKeyboard shortcuts, quick keys for frequent items and a single-screen flow from first scan to receipt.
06Measured, not assumedTime from last scan to printed receipt is logged per terminal. A target is agreed at discovery and tested at UAT.
04 — Workstream B

A new Lakpahana website, with the shop built in

The brand site and the online shop are the same website on the same domain. Stories and collections link straight to products, and every product page shows live stock from the core.

Proposed sitemap
Home
Shop
CategoriesProduct pageSearch & filtersCartCheckout
Collections
By craftSeasonalGifting
Our story
HeritageMakersJournal
Stores
Store locatorStock by store
Account
Orders & trackingAddressesLoyalty pointsWishlist
Help
Delivery & returnsFAQContact
Commerce pages, live data from core Content pages, edited in CMS
Brand-led designA new visual design built around Lakpahana's identity, product photography and craft stories.
Mobile firstDesigned for phones first, fast on slow connections, and accessible.
Local & internationalDelivery zones and rates, LKR and foreign-currency display, multilingual-ready.
Staff-editable CMSBanners, pages, collections and journal posts updated without a developer.
Click & collectOrder online, collect at a chosen outlet; the outlet sees the order on its POS.
Search visibilityClean URLs, structured product data, redirects from the current site to keep rankings.
05 — Workstream C

How the pieces work together

Three everyday flows show the integration in practice. Each step writes to the core, so stock, sales and reports stay consistent without manual re-entry.

Flow 1An in-store sale
01 · POSCashier scans items and takes payment
02 · POSReceipt printed or sent by SMS
03 · CoreSale recorded; outlet stock reduced
04 · WebsiteOnline availability updates automatically
05 · Back officeAppears in live sales dashboard and daily accounting export
Flow 2An online order
01 · WebsiteCustomer checks out and pays via the gateway
02 · CoreStock reserved; order assigned to a warehouse or outlet
03 · Back office / POSStaff pick, pack and print the delivery label
04 · CourierDispatched; tracking link sent to customer
05 · Any outletReturns accepted in store against the online order
Flow 3Restocking an outlet
01 · CoreLow-stock alert raised for an outlet
02 · Back officeHead office creates a transfer or purchase order
03 · WarehouseGoods dispatched with a transfer note
04 · POSOutlet confirms receipt by scanning
05 · CoreStock levels updated across POS and website
Back-office functions connected
Sales reporting Stock & valuation Purchasing Supplier records Accounting export Tax reports Customer & loyalty Order fulfilment
Data migration Existing products, prices, opening stock, customers and website content are cleaned, mapped and imported, with a trial migration before go-live.
05b — Under the hood

Technical design

How a sale travels through the system, where it is stored, and how the platform is hosted and protected. Open any diagram for detail.

Diagram 1Life of a sale — sequence
POS terminal
Core API
Database
Website
1. Scan — looked up in on-device catalogue
2. Sale saved locally, receipt prints
3. Sale pushed from sync queue (HTTPS)
4. One transaction: bill, lines, company splits, stock movements
5. Acknowledged; removed from queue
6. Stock-changed event; availability refreshed
7. Price & product updates pulled every few minutes
Steps 1–2 happen at the counter, with or without internetSteps 3–7 run in the background
Diagram 2Inside the POS terminal
POS app · on the device
Checkout screen
Local catalogueproducts · prices · barcodes
Local sales storeevery bill, encrypted
Split engineper-company totals & tax
Sync queueretries until confirmed
USB / LANBarcode scanner, receipt printer, cash drawer
Bank linkCard terminal, where supported
HTTPSCore API for sync, only in the background
OfflineSelling continues; queue drains when the connection returns
Diagram 3Data model — how one bill maps to four companies
Companyidname · tax no.invoice_series
Productid · barcodecompany_id →price · tax_rate
Outletid · nameterminals[]is_warehouse
Customerid · phoneloyalty_pointsweb_account
Bill (one per customer)id · bill_nooutlet_id → customer_id →total · channel
BillLinebill_id → product_id →qty · pricecompany_id (copied)
CompanySplitbill_id → company_id →net · tax · invoice_nopayment_share
StockMovementproduct_id → outlet_id →qty (±) · reasonsource (sale/transfer/…)
1 Bill → many BillLines1 Bill → up to 4 CompanySplits1 BillLine → 1 StockMovementHighlighted: what makes one bill possible
Diagram 4Hosting & infrastructure
Users
Outlet POS terminalsOnline customersHead office staff
Edge
CDN — fast images & pagesFirewall & HTTPS
Application
Website serverAPI servers ×2Background workersBack-office admin
Data
PostgreSQL primaryRead replica — reportsRedis — cache & queuesFile storage — images
Backup
Daily snapshots, kept 30 daysOff-site copy in a second region
All resources in a cloud account registered to Lakpahana. Reports read from the replica so they never slow down billing.
Diagram 5Security layers
Network — HTTPS everywhere, firewall, rate limiting
Access — personal log-ins, roles per company & outlet, 2-factor for head office
Application — manager approval for voids & discounts, full audit log
Data Encrypted at rest and in transit · card details never stored (handled by payment provider) · daily backups
06 — Delivery plan

Seven phases, overlapping where it saves time

The core platform is built first so the POS and website can be developed on top of it in parallel. Durations are indicative and will be confirmed after discovery.

Phase
Wk 1Wk 5Wk 9Wk 13Wk 17Wk 21Wk 25Wk 29
{{ p.code }}{{ p.name }}
{{ p.weeks }}
Milestones
{{ m.code }} {{ m.label }}
07 — Phase by phase

What happens in each phase, and what Lakpahana receives

{{ p.code }} · {{ p.weeks }}
{{ p.name }}
Activities {{ w }}
Deliverables {{ o }}
08 — Workstream D

Lakpahana owns all of it

No licence fees to us, no lock-in. The system runs in accounts registered to Lakpahana from day one, and at handover every key, repository and document is transferred.

Registered to LakpahanaFrom day 1
Cloud hosting account
Domain name & DNS
Code repository organisation
Payment gateway merchant account
Email, SMS and courier service accounts
Full source codePOS, website, back office and API, with complete commit history, transferred to Lakpahana's repository.
Administrative accessOwner-level access to servers, database, admin panels and third-party services. Our access is reduced or removed at Lakpahana's instruction.
Intellectual propertyCustom code and designs assigned to Lakpahana in the contract. Open-source components used under their standard licences.
DocumentationArchitecture overview, API reference, deployment and backup guides, and user manuals for each role.
Knowledge transferWalkthrough sessions with Lakpahana's IT team or any developer they appoint, so the system can be maintained by anyone.
Handover certificateA signed checklist confirming every credential, asset and document has been received.
09 — Proposed technology

Widely used, well-documented tools

Chosen so Lakpahana can hire any competent developer to maintain the system later.

WebsiteNext.js · headless CMS
POSInstallable web app · offline storage
Backend & APINode.js · REST API
DatabasePostgreSQL
HostingCloud, in Lakpahana's account
SecurityHTTPS · role-based access · audit log · daily backups
10 — Ways of working

Visible progress, signed-off milestones

WeeklyProgress call and written status update
Every 2 weeksLive demo of working software on a test site
Each milestoneFormal review and sign-off before the next phase
AlwaysShared task tracker; written change requests for scope changes
What we need from Lakpahana A named project owner, access to current product and stock data, outlet staff for the pilot, and timely feedback at each sign-off.

Next steps

We would start with a short discovery workshop to confirm scope, outlets and data, then return a fixed plan and commercial proposal.

1Review this proposal with the Lakpahana team
2Discovery workshop with head office and outlet managers
3Confirmed scope, timeline and commercials
4Contract signed and project kick-off
Lakpahana Prepared by Fern for Lakpahana · September 2026 · Confidential