Giter VIP home page Giter VIP logo

opensourcepos's Introduction

Open Source Point of Sale Logo

Open Source Point of Sale

Introduction · Demo · Installation · Contributing · Bugs · FAQ · Donate · License · Credits

Build Status Join the chat at https://app.gitter.im Project Version Translation Status

👋 Introduction

Open Source Point of Sale is a web-based point of sale system. The application is written in PHP, uses MySQL (or MariaDB) as the data storage back-end, and has a simple but intuitive user interface.

The latest 3.4 version is a complete overhaul of the original software. It uses CodeIgniter 4 as a framework and is based on Bootstrap 3 using Bootswatch themes. Along with improved functionality and security.

The features include:

  • Stock management (items and kits with an extensible list of attributes)
  • VAT, GST, customer, and multi tiers taxation
  • Sale register with transactions logging
  • Quotation and invoicing
  • Expenses logging
  • Cash up function
  • Printing and emailing of receipts, invoices and quotations
  • Barcode generation and printing
  • Database of customers and suppliers
  • Multiuser with permission control
  • Reporting on sales, orders, expenses, inventory status and more
  • Receivings
  • Gift cards
  • Rewards
  • Restaurant tables
  • Messaging (SMS)
  • Multilanguage
  • Selectable Bootstrap based UI theme with Bootswatch
  • MailChimp integration
  • Optional Google reCAPTCHA to protect the login page from brute force attacks
  • GDPR ready

🧪 Live Demo

We've got a live version of our latest master running for you to play around with and test everything out. It's a containerized install that will reinitialize when new functionality is merged into our code repository.

You can find the demo here and log in with these credentials.
👤 Username admin
🔒 Password pointofsale

If you bump into an issue, please check the status page here to confirm if the server is up and running.

🖥️ Development Demo

Besides the demo of the latest master, we also have a development server that builds when there's a new commit to our repository. It's mainly used for testing out new code before merging it into the master. It can be found here.

The log in credentials are the same as the regular live demo.

💾 Installation

Please refrain from creating issues about installation problems before having read the FAQ and going through existing GitHub issues. We have a build pipeline that checks the sanity of our latest repository commit, and in case the application itself is broken then our build will be as well.

This application can be set up in many different ways and we only support the ones described in the INSTALL.md file.

For more information and recommendations on support hardware, like receipt printers and barcode scanners, read this page on our wiki.

✨ Contributing

Everyone is more than welcome to help us improve this project. If you think you've got something to help us go forward, feel free to open a pull request or join the conversation on Element.

Want to help translate Open Source Point of Sale in your language? You can find our Weblate here, sign up, and start translating. You can subscribe to different languages to receive a notification once a new string is added or needs updating. Have a look at our guidelines below to help you get started.

Only with the help of the community, we can keep language translations up to date. Thanks!

🐛 Reporting Bugs

Before creating a new issue, you'll need copy and include the info under the System Info tab in the configuration section in most cases. If that information is not provided in full, your issue might be tagged as pending.

If you're reporting a potential security issue, please refer to our security policy found in the SECURITY.md file.

NOTE: If you're running non-release code, please make sure you always run the latest database upgrade script and download the latest master code.

📖 FAQ

  • If you get the message system folder missing, then you have cloned the source using git and you need to run a build first. Check INSTALL.md for instructions or download latest zip file from GitHub releases instead.

  • If at login time you read The installation is not correct, check your php.ini file., please check the error_log in public folder to understand what's wrong and make sure you read the INSTALL.md. To know how to enable error_log, please read the comment in issue #1770.

  • If you installed your OSPOS under a web server subdir, please edit public/.htaccess and go to the lines with the comments if in web root or if in subdir, uncomment one and replace <OSPOS path> with your path, and follow the instruction on the second comment line. If you face more issues, please read issue #920 for more information.

  • Apache server configurations are SysAdmin issues and not strictly related to OSPOS. Please make sure you can show a "Hello world" HTML page before pointing to OSPOS public directory. Make sure .htaccess is correctly configured.

  • If the avatar pictures are not shown in items or at item save you get an error, please make sure your public and subdirs are assigned to the correct owner and the access permission is set to 750.

  • If you install OSPOS in Docker behind a proxy that performs ssloffloading, you can enable the URL generated to be HTTPS instead of HTTP, by activating the environment variable FORCE_HTTPS = 1.

  • If you install OSPOS behind a proxy and OSPOS constantly drops your session, consider whitelisting the proxy IP address by setting $config['proxy_ips'] = '<proxy ip>'; in the main PHP config file. In extreme instances, changing $config['sess_match_ip'] = true; to FALSE may also help.

  • If you have suhosin installed and face an issue with CSRF, please make sure you read issue #1492.

  • PHP ≥ 8.1 is required to run this app.

🏃 Keep the Machine Running

If you like our project, please consider buying us a coffee through the button below so we can keep adding features.

Donate
Or refer to the FUNDING.yml file.

If you choose to deploy OSPOS in the cloud, you can contribute to the project by using DigitalOcean and signing up through our referral link. You'll receive a free $200, 60-day credit if you run OSPOS in a DigitalOcean droplet through our referral link.

📄 License

Open Source Point of Sale is licensed under MIT terms with an important addition:

The footer signature "© 2010 - current year · opensourcepos.org · 3.x.x - hash" including the version, hash and link to our website MUST BE RETAINED, MUST BE VISIBLE IN EVERY PAGE and CANNOT BE MODIFIED.

Also worth noting:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

For more details please read the LICENSE file.

It's important to understand that although you are free to use the application, the copyright has to stay and the license agreement applies in all cases. Therefore, any actions like:

  • Removing LICENSE and/or any license files is prohibited
  • Authoring the footer notice replacing it with your own or even worse claiming the copyright is absolutely prohibited
  • Claiming full ownership of the code is prohibited

In short, you are free to use the application, but you cannot claim any property on it.

Any person or company found breaching the license agreement might find a bunch of monkeys at the door ready to destroy their servers.

🙏 Credits

JetBrains
Travis CI
IntelliJ IDEA Logo
Travis CI Logo
Many thanks to JetBrains for providing a free license of IntelliJ IDEA to kindly support the development of OSPOS. Many thanks to Travis CI for providing a free continuous integration service for open source projects.

opensourcepos's People

Contributors

arteiro avatar awriel avatar budsiebuds avatar caston79 avatar cikov avatar cpl2015 avatar dan4cat avatar ekardian avatar emintufan avatar flodef avatar hucka avatar jacekz123 avatar jekkos avatar jlctmaster avatar johannesroesch avatar khaolek avatar lucailvec avatar mckaygerhard avatar nerv55 avatar nic-69 avatar objecttothis avatar odiea avatar robbytriadi avatar steveireland avatar tomadank avatar vnwildman avatar weblate avatar webshells avatar xykoinfo avatar zv20 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

opensourcepos's Issues

Added Enhanced Sales receipt. Please test it when you get a chance before I submit it.

New Feature / Enhancement

For New Features or Enhancements please clearly write your proposal.
It's important to state whether you expect the community to implement it or you will contribute the work.
Please bear in mind that we will implement new features only on the current code, there is no support for older versions.

This Enhanced receipt shows Category and full customer info. It also will show if it's a Sales receipt, Return or Invoice.
www.ospos.25u.com

Attribute Issues

Currently left to finish

  • Test reports to see if all are working
  • Fix item bulk edit, might be best to omit attributes (except category) as not all items will have the same?
  • Test text and date type fields. Date type fields might be for later
  • Check if item update is working as it should

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php

Hi,

I have install the ospos for a few days now and didn't work yet.
could you help me a bit?

i got a message
Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php

could you let me know how i can check or change the path.
ubuntu 20.04
install ospos 3.3.6 version

thanks for your help

=================================================================

Background information

IMPORTANT: If you choose to ignore this issue report template, your issue will be closed as we cannot help without the requested information.

Please make sure you tick (add an x between the square brackets with no spaces) the following check boxes:

  • [] Reporting an issue of an unmodified OSPOS installation
  • [] Checked open and closed issues and no similar issue was already reported (please make sure you searched!)
  • [] Read README, WHATS_NEW, INSTALL.md and UPGRADE
  • [] Read the FAQ for any known install and/or upgrade gotchas (in specific PHP extensions installed)
  • [] Read the wiki
  • [] Executed any database upgrade scripts if an upgrade pre 3.0.0 (e.g. database/2.4_to_3.0.sql)
  • [] Aware the installation code is in bintray (see README), and GitHub master is for developers only and therefore not complete nor stable

Installation information

  • OSPOS version is:
  • OSPOS git commit hash is:
  • PHP version is:
  • MySQL or MariaDB version is:
  • OS and version is:
  • WebServer is:
  • Selected language is:
  • (If applicable) Docker installation:
  • (If applicable) Installation package for the LAMP/LEMP stack is:

Issue / Bug / Question / New Feature

Please write your issue here. If a bug, please make sure to provide as much information as possible including configuration settings (e.g. Decimals set, Tax mode), language and steps to reproduce the bug.

Cashup

I am working on Cashups . I have gotten this far so I would like to know how to cure this issue.

Has something changed

Is there a way to eliminate the screen overlay. It appears that every time I clone the master it immediately appears even with a new db. It doesn't seem to happen with a zip install or a merge. Any suggestions would be helpful.
Odie

Integration with Google Sheets

At the end of the day it would be nice to post automatically an entry to Google Sheet for late accounting purposes.
I automated quite a lot of the accounting using Google Sheets, so having the daily figures posted from OSPOS to a spreadsheet will make everything automagic.

Maybe instead of having a pulling via a REST API it's simpler to have a push in place.

Mailchimp Issues

Just opening this issue for tracking eventual Mailchimp issues. Shall we release these features simultaneously and ask set some kind of backing goal? I think it might be a nice opportunity to ask something from the community as there were quite a lot of people asking for these things.

We might want to use a platform like indiegogo or through another platform someone else proposed? This backing can be used to support project costs and of course for a little personal benefit

Boutique Test

Works good but has an issue saving and completing the sale. Season not found. I commented out season in sale_lib and sale it worked great. Thought I would test before I left the country.

Expenses modules.

New Feature / Enhancement

For New Features or Enhancements please clearly write your proposal.
It's important to state whether you expect the community to implement it or you will contribute the work.
Please bear in mind that we will implement new features only on the current code, there is no support for older versions.

Here is what I have gotten to work so far on the expenses modules.
So far it has been a real learning experience.
www.ospos.25u.com.
The modules are in the Office part.
My pet peeve so far is I have not been able to get the updated row in Expenses to turn green.
I have tried different *.id with no luck.

License files

Just wanted to ask about the two files that are treated as "local changes" when I try to create a local repository to work with.

These two license files certainly shouldn't become local changes in my repository when I clone the repository. The github repository shouldn't be a working repository so I'm not clear on why these two files are being included in my extraction.

I've tried a direct clone and I've tried forking it and doing a clone from from there. In both situations the files are picked up and they prevent me from doing any rebase activities because they are considered uncommitted changes.

I can revert them but when I rebase them they still seem to be found by git. It behaves like it's corrupted but I haven't touched it yet.

Any thoughts?

Attribute UI idea

So currently I'm reviewing the attributes functionaliy after all. As @daN4cat suggested we should keep the category which is what I did (this was reverted in the code).
In fact I added the group 'idea' as it would make it easier UI wise to add a fixed set of definitions as separate input field rows (for which values have to be entered or selected) in the form.

However maybe there's an easier and faster way to have a user add attributes to an item. I was thinking here and thought to reuse bootstrap-tagsinput (same plugin I used in for adding barcode formats)

Idea is to add one generic text input that can handle multiple attribute key - values. A user would need to start typing and then typeahead would kick in, to find a suggestion based on definition name and value.

For example for season attribute, if you'd type June in the box, it would suggest Season: June and add it as a balloon to the input field. Or if you're using a free text attribute, you'd have to type the definition name first and then

It would also be easy to add some colors to the attributes or 'tags' in this case, which can give a quick visual indication to what it is linked

So if I'd approach the UI like this then following remains

  • It might be tricky to handle date type tags this way. At least in that case you should be able to use a datepicker which will probably only be possible to bind to one field at a time
  • Also the 'group' conecpt might become obsolete as we now can directly add mulitple values to one item quickly..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.