2015-06-13 15:11:47 +00:00
|
|
|
=========
|
|
|
|
PyInvoice
|
|
|
|
=========
|
|
|
|
|
|
|
|
.. image:: https://api.travis-ci.org/CiCiApp/PyInvoice.svg?branch=master
|
|
|
|
:target: https://github.com/CiCiApp/PyInvoice
|
|
|
|
|
2015-06-14 13:49:47 +00:00
|
|
|
Invoice/Receipt Generator.
|
2015-06-13 15:11:47 +00:00
|
|
|
|
2015-06-14 14:02:59 +00:00
|
|
|
Screenshot
|
|
|
|
----------
|
|
|
|
|
|
|
|
.. image:: https://ciciapp.github.io/PyInvoice/dist/invoice.png
|
|
|
|
:target: https://github.com/CiCiApp/PyInvoice
|
|
|
|
|
2015-06-13 15:11:47 +00:00
|
|
|
Dependency
|
|
|
|
----------
|
2015-06-14 13:49:47 +00:00
|
|
|
* Reportlab
|
2015-06-13 15:11:47 +00:00
|
|
|
* Python 2.6+/3.3+
|
|
|
|
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| | Python 2.6 | Python 2.7 | Python 3.3 | Python 3.4 |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| Reportlab 2.6 | ✓ | ✓ | | |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| Reportlab 2.7 | ✓ | ✓ | | |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| Reportlab 3.0 | | ✓ | ✓ | ✓ |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| Reportlab 3.1.44 | | ✓ | ✓ | ✓ |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
| Reportlab 3.2 | | ✓ | ✓ | ✓ |
|
|
|
|
+-------------------+-------------------+-------------------+-------------------+-------------------+
|
|
|
|
|
2015-06-14 13:49:47 +00:00
|
|
|
Install
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
pip install pyinvoice
|
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
from datetime import datetime, date
|
|
|
|
from pyinvoice.models import InvoiceInfo, ServiceProviderInfo, ClientInfo, Item, Transaction
|
|
|
|
from pyinvoice.templates import SimpleInvoice
|
|
|
|
|
|
|
|
doc = SimpleInvoice('invoice.pdf')
|
|
|
|
|
|
|
|
# Paid stamp, optional
|
|
|
|
doc.is_paid = True
|
|
|
|
|
|
|
|
doc.invoice_info = InvoiceInfo(1023, datetime.now(), datetime.now()) # Invoice info, optional
|
|
|
|
|
|
|
|
# Service Provider Info, optional
|
|
|
|
doc.service_provider_info = ServiceProviderInfo(
|
|
|
|
name='PyInvoice',
|
|
|
|
street='My Street',
|
|
|
|
city='My City',
|
|
|
|
state='My State',
|
|
|
|
country='My Country',
|
|
|
|
post_code='222222',
|
|
|
|
vat_tax_number='Vat/Tax number'
|
|
|
|
)
|
|
|
|
|
|
|
|
# Client info, optional
|
|
|
|
doc.client_info = ClientInfo(email='client@example.com')
|
|
|
|
|
|
|
|
# Add Item
|
|
|
|
doc.add_item(Item('Item', 'Item desc', 1, '1.1'))
|
|
|
|
doc.add_item(Item('Item', 'Item desc', 2, '2.2'))
|
|
|
|
doc.add_item(Item('Item', 'Item desc', 3, '3.3'))
|
|
|
|
|
2015-06-14 14:02:59 +00:00
|
|
|
# Tax rate, optional
|
2015-06-14 13:49:47 +00:00
|
|
|
doc.set_item_tax_rate(20) # 20%
|
|
|
|
|
|
|
|
# Transactions detail, optional
|
|
|
|
doc.add_transaction(Transaction('Paypal', 111, datetime.now(), 1))
|
2015-06-19 07:01:48 +00:00
|
|
|
doc.add_transaction(Transaction('Stripe', 222, date.today(), 2))
|
2015-06-14 13:49:47 +00:00
|
|
|
|
|
|
|
# Optional
|
|
|
|
doc.set_bottom_tip("Email: example@example.com<br />Don't hesitate to contact us for any questions.")
|
|
|
|
|
|
|
|
doc.finish()
|
|
|
|
|
|
|
|
|
2015-06-13 15:11:47 +00:00
|
|
|
License
|
|
|
|
-------
|
2015-06-19 07:01:48 +00:00
|
|
|
MIT
|