Coder Social home page Coder Social logo

uplandsdynamic / invoicing Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 3.0 3.71 MB

An invoicing application, with a web interface. Create & dispatch manual & automated PDF invoices.

Home Page: https://invoicing.aninstance.com

License: Other

Python 98.47% Shell 0.49% Dockerfile 1.05%
invoicing invoicing-application django python-django python3 smb accounting accounting-software invoicing-software small-business

invoicing's Introduction


Aninstance Invoicing

NOTE: This project is now unmaintained and therefore should NOT be used in production. It is likely to contain security vulnerabilites, both in the codebase and project dependences.


Demo Details

This is the code for a working demo of the Aninstance Invoicing application.:

The application is intended to be distributed and deployed using Docker.

Please get in touch with questions or feedback, which are both very welcome.

Note that this code is as used for the demo at invoicing.aninstance.com. It is configured for that purpose and is made available here for reference only. The code is based on my 'Aninstance Framework', which allows for the integration of modules (or 'apps'), providing additional functionality, in order to to build out a fully fledged website. The settings.py and various other files would clearly need to be configured to suit a new install.

It is assumed a reverse proxy would be set up to forward requests to the docker container. Such setup is not covered here.

Features of this app are described in the usage instructions below.

Note that the design of the user interface (colours, layout, etc) is fully customisable. What's here is for demonstration purposes only.

Supported, hosted instances may be available for purchase soon (priced per month) if there is sufficient interest.

Please note that the app's email functionality has been disabled in this demo.


Contact

Developer contact: https://www.aninstance.com/contact


Features

Features include:

  • Define a primary and secondary business accounts
  • Define client accounts
  • Define invoice items
  • Define tax rates for individual invoice items
  • Define tax status for individual invoices
  • Define discounts for individual invoices
  • Link ticket references to invoices
  • Add comments to invoices
  • Create recurring invoices
  • Auto-updating invoice statues: Draft, Issued, Sent, Overdue, Paid partially, Paid in full, Cancelled
  • Automatic generation of itemised bill totals (inc. tax & discounts)
  • Automatic generation of PDF of invoice and reciepts
  • Optional automatic emailing of PDF invoice/receipts to clients
  • Fully customisable email templates
  • Fully customisable PDF templates
  • Fully customisable interface design (template & CSS)

Quickstart

The arrows (>) indicate tapping the button with the following title (that should appear prominently on the page).

  • Create business profile: "Menu" > "Create new account"

  • Create client account: "Menu" > "Create new account"

  • Create invoice items: "Menu" > "View invoice items" > "Create new item"

  • Create new invoice: "Menu" > "View client accounts" > "Create invoice for [COMPANY NAME]"

  • Edit invoice: "Menu" > "View client accounts" > "View invoices for this account" > "Edit this invoice"

invoicing's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

invoicing's Issues

Feb 28 issue

Write logic to work around issue with django_q sheduler whereby invoice due on 1st month (monthly) are pushed back to 28th of every month each Feb 28th (29th in a leap year!)

Set recurring invoice to start in future

Allow recurring invoices to be set up to begin on a future date. At present, the recurring period begins from the date invoice is ISSUED only - which is automatically set to the date when status is changed from DRAFT to ISSUED. Either allow manual setting of an ISSUED date in the future, or automated switching from DRAFT to ISSUED status at a specified future date.

Mail send error handling

Look into issue whereby if a mail send fails it causes a 500 error, even though errors should be caught in the try/except block (views.py)

Opt out of auto invoice notification on per invoice basis

Add option to opt out of auto invoice and receipt notification on per invoice basis. Useful when default option for client is to have automatic emailing enabled, but you wish to opt out when creating a single invoice - for example, when defining an ongoing invoice on the system in advance of service.

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.