All Projects → bailabs → Tailpos

bailabs / Tailpos

Licence: gpl-3.0
TailPOS an Offline First Open Source POS for ERPNext

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Tailpos

Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+1877.13%)
Mutual labels:  mobile-app, offline-first
Dianoia-app
Mobile (Ionic 3 - Angular 4) app about non-pharmaceutical activities and information for people with dementia.
Stars: ✭ 13 (-94.96%)
Mutual labels:  offline-first, mobile-app
Wq.app
💻📱 wq's app library: a JavaScript framework powering offline-first web & native apps for geospatial data collection, mobile surveys, and citizen science. Powered by Redux, React, Material UI and Mapbox GL.
Stars: ✭ 99 (-61.63%)
Mutual labels:  mobile-app, offline-first
bitpocket-mobile-app
Mobile app for accepting bitcoin payments at the point of sale (Bitcoin POS).
Stars: ✭ 26 (-89.92%)
Mutual labels:  mobile-app, pos
Wq
📱🌐📋 wq: a modular framework supporting web / native geographic data collection apps for mobile surveys and citizen science. Powered by Django REST Framework, Redux, React, and Material UI.
Stars: ✭ 182 (-29.46%)
Mutual labels:  mobile-app, offline-first
CouchDraw
A synchronized drawing app that utilizes Couchbase Sync Gateway and Xamarin to enable shared canvases.
Stars: ✭ 22 (-91.47%)
Mutual labels:  offline-first, mobile-app
larapos
Laravel Point of sale with invoice full source code free download pos apps.
Stars: ✭ 38 (-85.27%)
Mutual labels:  pos
farmassist
Farmassist is a smart farming app for IoT and AI-powered plant disease detection. It is built with Flutter and uses Firebase as its backend.
Stars: ✭ 41 (-84.11%)
Mutual labels:  mobile-app
jekyll-pwa-workbox
A Jekyll plugin using Workbox to make your PWA / Website available offline.
Stars: ✭ 22 (-91.47%)
Mutual labels:  offline-first
uzual-mobile
Feed your brains with habits for a better mood
Stars: ✭ 67 (-74.03%)
Mutual labels:  offline-first
Aawazein
A News Application 🗞️ built under 24 hours ⏰. It is built 🚧 with React Native ⚛️. 🚀 and 3 cups of Chai ☕
Stars: ✭ 28 (-89.15%)
Mutual labels:  mobile-app
ambianic-ui
PWA for managing Ambianic Edge devices (smart cameras).
Stars: ✭ 32 (-87.6%)
Mutual labels:  offline-first
quiz-app
🏆 QuizApp is a free and open-source quiz application that lets you play fully customized quizzes right in the browser.
Stars: ✭ 97 (-62.4%)
Mutual labels:  offline-first
computeiro
Computer science courses, books and exams in your pocket. Built with Flutter and Free! ❤️
Stars: ✭ 27 (-89.53%)
Mutual labels:  mobile-app
credt
CRDT-like data structures for building distributed, offline-first applications
Stars: ✭ 32 (-87.6%)
Mutual labels:  offline-first
esteem
eSteem Mobile - Application for Android and iOS users, start earning cryptocurrency!
Stars: ✭ 88 (-65.89%)
Mutual labels:  mobile-app
angular-webpack-skeleton
This project is deprecated. Please refer to https://github.com/Ks89/angular-cli-skeleton
Stars: ✭ 16 (-93.8%)
Mutual labels:  offline-first
keplr-wallet
The most powerful wallet for the Cosmos ecosystem and the Interchain
Stars: ✭ 321 (+24.42%)
Mutual labels:  mobile-app
NYTimes-Compose
An offline-first application in Jetpack Compose with MVVM architecture, representing a minimalistic implementation of Top Stories API.
Stars: ✭ 98 (-62.02%)
Mutual labels:  offline-first
git-documentdb
Offline-first Database that Syncs with Git
Stars: ✭ 20 (-92.25%)
Mutual labels:  offline-first

TailPOS

TailPOS an Offline First Open Source POS for ERPNext

Get it on Google Play

Showcase

Showcase

Features

o Two-way Sync to ERPNext Two-way syncing to an ERPNext instance for a full suite of back-office functionalities.

o Offline-first Approach Continue to make sales and keep running the business even no internet or unstable.

o Mobile POS Uses the tablet for a lightweight setup. Built-in rear camera of the tablet can be used as a barcode scanner. Any bluetooth barcode scanner is compatible with tailpos

o Print receipts Print sales receipts for customers using any ESC/POS receipt printer.

o Multiple payment modes Can process credit card,mobile payments and cash.

o Discounts Program Can apply discount to an invoice or on specific items.

o Inventory Management Keep track of stock levels easily. Easy-to-use menu for item maintenance such as creating and updating item information.

o Sales Reports Can generate X and Z readings and attendant shift sales totals.

License

This project is released under the GPLv3 license, for more details, take a look at the LICENSE file in the source.


Quick Start

A quick demo of syncing the tailpos to a Frappe/Erpnext server

https://docs.tailpos.com/tailpos/syncing-to-frappe-erpnext

Login to demo server
server: https://demo.tailerp.com
username: [email protected]
password: @Bailabs
Making a new item.
  • Go To Item List.
  • Make a new Item.
  • Select your new Itemto see its properties.

alt text

  • Select Item Price under Pricing. Make sure the In TailPOS checkbox is checked.

alt text

  • Don't forget to save your Item.
Setup TailPOS Sync Settings
  • Go to Settings > Sync
  • Fill the following
ERPNext Server: demo.tailerp.com
Username: [email protected]
Password: @Bailabs
Device ID: <>

Setting up device ID

  • Go to Device list.
  • Create a new Device
  • Input the Device Name and POS Profile
  • Fill out information need in the POS profile
Name: <>
Series: ACC-SINV-.YYYY.-

Accounting
Write Off Accounting: Write Off – D
Write Off Cost Center: Main – D

alt text

alt text

  • Select your new Device.
  • Device ID is displayed at the top-right corner near the Save button.

alt text

Syncing
  • Once your done, save your Sync Settings.
  • Press Force Sync.
  • Once Force Sync is successful, go to your Sales tab and fill up a sample transaction.
  • Confirm the transaction by looking at your Receipts tab.
  • Now go back to your Settings > Sync and Force Sync the receipt data to the server.
  • Verify by going to Receipts List in ERPNext and check the receipts if they are generated.

How To Compile TailPOS in your local machine

If you are interested contributing the tailpos, the following guide will give you instructions in compiling the tailpos.

First, you'll need nodejs and npm:

sudo apt install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
nodejs -v
v8.4.0

Install development tools to build native addons:

sudo apt-get install gcc g++ make

Install the yarn package manager, run:

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

Then you can install react-native-cli using npm

sudo npm install -g react-native-cli

Now you need to install Java and Android

sudo apt-get install default-jre
sudo apt-get install default-jdk

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • Install Android
  • Install Android SDK requirements
cd ~
mkdir android-sdk
cd android-sdk
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
sudo apt-get install unzip
unzip sdk-tools-linux-3859397.zip

We add the path of our Android SDK tools to .bashrc so that we have access to the Android tools.

cd ~
nano .bashrc

# Add these lines to the top of the file
export ANDROID_HOME=$HOME/android-sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

# CTRL+O (uppcase o) to save
# CTRL+X to exit

source ~/.bashrc
android update sdk --no-ui
# Answer 'y' to all prompts

sdkmanager "platforms;android-23" "build-tools;23.0.1" "add-ons;addon-google_apis-google-23"

Installing TailPOS

cd ~
mkdir Projects
cd Projects
git clone https://github.com/bailabs/tailpos.git
cd tailpos
yarn

Updating react-native-camera modules

  • remove buildscript section
  buildscript {
  repositories {
    jcenter()
    maven {
      url 'https://maven.google.com'
    }
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
  }
}
  • compileOnly to provided
  • implementation to compile
cd ~
nano Projects/tailpos/node_modules/react-native-camera/android/build.gradle

Updating react-native-maps modules

  • compileOnly to provided
  • implementation to compile
cd ~
nano Projects/tailpos/node_modules/react-native-maps/lib/android/build.gradle

Updating react-native-bluetooth-serial modules

  • remove @Override in line 23 (the second @Override)
cd ~
nano Projects/tailpos/node_modules/react-native-bluetooth-serial/android/src/main/java/com/rusel/RCTBluetoothSerial/RCTBluetoothSerialPackage.java

Updating react-native-device-info with support-v4 fix

ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex

Set the following under build.gradle under react-native-device-info

android {
  compileSdkVersion 26
  buildToolsVersion "26.0.2"
  ...
}

dependencies {
  ...
  compile "com.google.android.gms:play-services-gcm:12.0.1"
  compile "com.android.support:support-v4:27.1.0"
}

Update react-native-localization

  • implementation to compile

Building TailPOS

cd ~
cd Projects/tailpos
react-native run-android
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].