LibrePOS

๐Ÿช

Run your whole store from your phone

Track sales, print receipts, and never lose a transaction again.

No subscriptions. No stress. Just sales.

โœจ What you gain with LibrePOS

๐Ÿ“Š
Close your day with confidence
See exactly how much you earned and spent โ€” no more guessing where your money went.
๐Ÿงพ
Professional receipts in seconds
From messy handwritten sales to automated, printable receipts โ€” always charge customers correctly without doing math.
๐Ÿ“ฑ
Keep selling even if your internet drops
Works offline โ€” no downtime, no lost sales. Your data is always saved.
๐Ÿ’ฌ

"LibrePOS helped me stop guessing where my money went every day. Now I close my store knowing exactly how much I made."

โ€” Small business owner

Login to get started

Default PIN: 1234

๐Ÿช

Business Setup

Let's get your business configured

Business Information

Initial cash amount in your register

Current Balance
โ‚ฑ{{ formatMoney(metrics.balance) }}
Sales โ‚ฑ{{ formatMoney(metrics.sales) }} - Expenses โ‚ฑ{{ formatMoney(metrics.expenses) }}

Recent Activity

No transactions yet.
  • {{ t.type==='sale' ? '๐Ÿงพ Sale' : '๐Ÿ’ธ Expense' }}
    {{ new Date(t.created_at).toLocaleString() }}
    โ‚ฑ{{ formatMoney(t.total||t.amount) }}

POS

Step {{ state.posStep }} of 3
1 ยท Item Selection
2 ยท Confirm
3 ยท Success
{{ cart.items.reduce((sum, item) => sum + item.qty, 0) }} item{{ cart.items.reduce((sum, item) => sum + item.qty, 0) !== 1 ? 's' : '' }}
๐Ÿ“ฆ

No items available. Please add items in the Item Management section before proceeding.

Subtotal
โ‚ฑ{{ formatMoney(posSubtotal) }}
Service
โ‚ฑ{{ formatMoney(posService) }}
VAT
โ‚ฑ{{ formatMoney(posVAT) }}
Total
โ‚ฑ{{ formatMoney(posGrandTotal) }}

Order Summary

  • {{ ci.name }}
    โ‚ฑ{{ formatMoney(priceOf(ci.name)) }} each
    {{ ci.qty }}
    โ‚ฑ{{ formatMoney(lineTotal(ci)) }}
Subtotal (VAT Excl.)โ‚ฑ{{ formatMoney(posSubtotal) }}
VAT ({{ settings.vat_rate }}%) - Inclusiveโ‚ฑ{{ formatMoney(posVAT) }}
Amount Dueโ‚ฑ{{ formatMoney(posTotal) }}
Service Charge ({{ settings.service_rate }}%)โ‚ฑ{{ formatMoney(posService) }}
Totalโ‚ฑ{{ formatMoney(posGrandTotal) }}
Change โ‚ฑ{{ formatMoney(changeDue) }}
๐ŸŽ‰
Sale Successful!
Transaction completed

๐Ÿงพ Order Summary

Items
  • {{ ci.name }} x{{ ci.qty }} โ‚ฑ{{ formatMoney(lineTotal(ci)) }}
Subtotal (VAT Excl.) โ‚ฑ{{ formatMoney(posSubtotal) }}
VAT ({{ settings.vat_rate }}%) - Inclusive โ‚ฑ{{ formatMoney(posVAT) }}
Amount Due โ‚ฑ{{ formatMoney(posTotal) }}
Service Charge ({{ settings.service_rate }}%) โ‚ฑ{{ formatMoney(posService) }}
Total โ‚ฑ{{ formatMoney(posGrandTotal) }}
Payment Method {{ pos.payment_method }}
Cash Tendered โ‚ฑ{{ formatMoney(pos.cash) }}
Change โ‚ฑ{{ formatMoney(changeDue) }}

๐Ÿ’ธ Expense Management

Track your business expenses

โž•

Add New Expense

โ‚ฑ

๐Ÿ“‹ Expense History {{ expenses.length }}

๐Ÿ’ธ

No expenses yet. Add your first expense above!

  • {{ e.category === 'Supplies' || e.category === '๐Ÿ“ฆ Supplies' ? '๐Ÿ“ฆ' : e.category === 'Utilities' || e.category === 'โšก Utilities' ? 'โšก' : e.category === 'Rent' || e.category === '๐Ÿ  Rent' ? '๐Ÿ ' : e.category === 'Salary' || e.category === '๐Ÿ‘ฅ Salary' ? '๐Ÿ‘ฅ' : '๐Ÿ“Œ' }}
    {{ e.description }}
    {{ e.category.replace(/[๐Ÿ“ฆโšก๐Ÿ ๐Ÿ‘ฅ๐Ÿ“Œ]\s*/, '') }} โ€ข {{ new Date(e.created_at).toLocaleString() }}
    โ‚ฑ{{ formatMoney(e.amount) }}

๐Ÿ“ฆ Item Management

Manage your product inventory

โž•

Add New Item

โ‚ฑ

Price should be VAT inclusive

๐Ÿ“‹ Your Items {{ products.length }}

๐Ÿ“ฆ

No items yet. Add your first product above!

  • ๐Ÿท๏ธ
    {{ p.name }}
    ๐Ÿ’ฐ โ‚ฑ{{ formatMoney(p.price) }}

Settings

๐Ÿ” Security

Support & Info

๐Ÿ’ก Feature Request
Request new features, report bugs, or suggest improvements for LibrePOS. We value your feedback!
LibrePOS v1.0.0

{{ state.selectedActivity?.type==='sale' ? '๐Ÿงพ Sale Details' : '๐Ÿ’ธ Expense Details' }}

Date
{{ new Date(state.selectedActivity.created_at).toLocaleString() }}
Items
  • {{ item.name }} x{{ item.qty }} โ‚ฑ{{ formatMoney(item.qty * priceOf(item.name)) }}
Subtotalโ‚ฑ{{ formatMoney(state.selectedActivity.subtotal) }}
Service Chargeโ‚ฑ{{ formatMoney(state.selectedActivity.service) }}
VATโ‚ฑ{{ formatMoney(state.selectedActivity.vat) }}
Totalโ‚ฑ{{ formatMoney(state.selectedActivity.total) }}
Payment Method
{{ state.selectedActivity.payment_method }}
Tendered: โ‚ฑ{{ formatMoney(state.selectedActivity.cash_tendered) }} | Change: โ‚ฑ{{ formatMoney(state.selectedActivity.change) }}
Description
{{ state.selectedActivity.description }}
Category
{{ state.selectedActivity.category }}
Amount
โ‚ฑ{{ formatMoney(state.selectedActivity.amount) }}

๐Ÿ“‹ Changelog

What's new in LibrePOS

v1.0.0 Latest
Initial Release
โœจ Features
  • โ€ข Fast POS system with 3-step checkout
  • โ€ข Item management with inventory tracking
  • โ€ข Expense tracking and categorization
  • โ€ข VAT-inclusive pricing calculations
  • โ€ข Service charge support
  • โ€ข Receipt printing (ESC/POS compatible)
  • โ€ข Multiple payment methods (Cash, Card, GCash, Maya)
  • โ€ข Quick cash amount suggestions
  • โ€ข Transaction history with details
  • โ€ข Sales and expense analytics
  • โ€ข Offline-first PWA support
  • โ€ข PIN-based authentication
  • โ€ข Change PIN functionality
  • โ€ข Logout/lock feature
  • โ€ข Safe area support for iOS/Android
  • โ€ข Customizable receipt header/footer
  • โ€ข Business settings management
  • โ€ข Cancel sale and delete expense
๐ŸŽจ Design
  • โ€ข Modern, clean interface with Tailwind CSS
  • โ€ข Emoji icons for better visual recognition
  • โ€ข Responsive design for mobile and tablet
  • โ€ข Smooth animations and transitions
  • โ€ข Color-coded sections and status indicators
๐Ÿ”ง Technical
  • โ€ข Built with Vue 3 Composition API
  • โ€ข IndexedDB for local data storage
  • โ€ข Service Worker for offline functionality
  • โ€ข PWA installable on all platforms
  • โ€ข No backend required - fully client-side