Skip to content

resmio/django-invoices

Repository files navigation

===============
django-invoices
===============

A Django app for creating invoices for multi metered billing.

Requirements
============

Required
--------

* Python 2.6+
* Django 1.4+

Usage
=====

    Create a new invoice

    ::

        from invoices import create_invoice

        invoice = create_invoice(
            begin_date, end_date, currency='EUR', country='de', user=some_user,
            items=[{
                'name': 'Customer name',
                'lineItemGroups': [('plan_identifier', 'plan description', [
                    ('line item description', Decimal(25.50), line_item_date)
                ])],
            }, {
                'name': 'Big corp bakery',
                'lineItemGroups': [('standard', '$2 per cookie delivered', [
                    ('3x delicious cookie', Decimal(6), somedate)
                ])]
            },
        ])

    Cancel an existing invoice (creates a new invoice with the negative amount)

    ::

        from invoices import cancel_invoice

        cancelled_invoice = cancel_invoice(invoice)


Signals
========

* 'invoice_ready'

::

    from invoices.signals import invoice_ready
    from invoices.models import Invoice

    def on_invoice_ready(sender, **kwargs):
        invoice = kwargs['invoice']
        # send invoice notification to user
        # ...
        # charge the users account
        # ...

    invoice_ready.connect(on_invoice_ready)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages