GithubHelp home page GithubHelp logo

sts0mrg0 / smartreceiptslibrary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from didryo/smart-receipts

0.0 1.0 0.0 50.98 MB

A customizable, easy-to-use receipt scanner for Android

Home Page: https://smartreceipts.co

License: GNU Affero General Public License v3.0

Java 68.30% Shell 0.25% Kotlin 31.44% Batchfile 0.01%

smartreceiptslibrary's Introduction

Smart Receipts

Save time tracking expenses and get back to what matters

SmartReceipts

Build Status

Get it on Google Play

Turn your phone into a receipt scanner and expense report generator with Smart Receipts! With Smart Receipts, you can track your receipts and easily generate beautiful PDF and CSV reports.

Download Smart Receipts on Google Play:

  • Smart Receipts. The free version of the app, but it also supports an in-app purchase subscription.
  • Smart Receipts Plus. A 'paid' app from back before Google supported in-app purchases.

The free and plus versions versions are identical, except the plus version offers the following enhancements:

  • The paid version has no ads
  • The paid version supports automatic backups to Google Drive
  • The paid version automatically processes exchange rate conversions
  • The paid version allows you to automatically break down prices by category/payment method in your reports
  • The paid version allows you to edit/customize the pdf report footer (by default, it is "Report Generated with Smart Receipts")

Table of Contents

Guide

Curious about how Smart Receipts works? Check out our usage guide:

Or watch out YouTube video series.

Features

  • Create expense report "folders" to categorize your receipts
  • Take receipt photos with your camera's phone
  • Import existing pictures on your device
  • Import PDF receipts
  • Save receipt price, tax, and currency
  • Tag receipt names, categories, payment method, comments, and other metadata
  • Create/edit/delete all receipt categories
  • Track distance traveled for mileage reimbursement
  • Automatic exchange rate processing
  • Smart prediction based on past receipts
  • Generate PDF, CSV, & ZIP reports
  • Fully customizable report output
  • Automatic backup support via Google Drive
  • OCR support for receipt scans
  • Graphical breakdowns of spending per category
  • Cross-organization setting standardization

Install

Smart Receipts is broken into a few core modules:

  • app. All common application code for both the free and plusFlavor flavors of the application are defined here. In practice, all development work should occur in this module
  • wBMiniLibrary. A few legacy items that haven't been moved into the Library module, but it's otherwise unused.

Please note that that in order to use this project fully, you will need to replace the following place holder files:

  • app/src/main/res/values/secrets.xml. You can copy the secrets.xml.sample file and rename the keys inside to achieve this behavior. This is used for low usage keys
  • app/src/free/res/values/ads.xml. The ads file in smartReceiptsFree. You can add adUnitId and classicAdUnitId to enable support for AdMob Native and Classic Ads, respectively.
  • app/src/free/res/xml/analytics.xml. The analytics file in smartReceiptsFree. You can add a key here if you wish to enable Google Analytics.

When running a build locally, we run the following operations via our gradle script to extract these secrets (if you have a valid GPG key) to allow the app to operate as expected:

  • git update-index --assume-unchanged app/src/free/res/values/ads.xml
  • git update-index --assume-unchanged app/src/free/res/xml/analytics.xml
  • git update-index --assume-unchanged app/src/main/res/values/secrets.xml
  • gpg -d secrets.tar.gpg | tar xv

The last command in this script uses a "SmartReceipts/[email protected]" GPG key to extract the encrypted secrets from this file. Feel free to replace this key with your own local variant for testing/build purposes.

Donate

If you like our project, please consider donating:

Contribute

Contributions are always welcome! Please open an issue to report a bug or file a feature request to get started.

Continuous Integration

We currently use Travis-CI for our continuous integration in order perform tests against new commits, allowing us to avoid potential regressions. You can monitor the current build status here:

All repository secrets have been replaced with placeholder files, so Travis should be able to build properly for all requests.

Legacy Branch Access

We changed our way of saving secrets files starting with release_4.14.0. If you wish to interact with a release prior to then, you should perform the following:

  1. tar cvf secrets.tar app/src/main/res/values/secrets.xml app/src/free/res/values/ads.xml app/src/free/res/xml/analytics.xml
  2. rm app/src/free/res/values/ads.xml
  3. rm app/src/free/res/xml/analytics.xml
  4. rm app/src/main/res/values/secrets.xml
  5. git checkout YOUR_DESIRED_BRANCH
  6. tar xvf secrets.tar

Which should allow these to build properly with the placeholder files.

License

The GNU Affero General Public License (AGPL)

Copyright (c) 2012-2018 Smart Receipts LLC (Will Baumann)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Attribution

Google Play and the Google Play logo are trademarks of Google LLC.

smartreceiptslibrary's People

Contributors

akhy avatar evsenevdev avatar heinousgames avatar juliasoboleva avatar luciomagini avatar talosdev avatar tomgranot avatar tomgs avatar twine-botty-bot avatar wbaumann avatar

Watchers

 avatar

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.