From 1aa2984c0fdd4a850eb6f349bbf4d95ce7475f93 Mon Sep 17 00:00:00 2001 From: zhangshine Date: Sun, 14 Jun 2015 21:49:47 +0800 Subject: [PATCH] add simple usage --- README.rst | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 05452c1..1fdf161 100644 --- a/README.rst +++ b/README.rst @@ -5,11 +5,11 @@ PyInvoice .. image:: https://api.travis-ci.org/CiCiApp/PyInvoice.svg?branch=master :target: https://github.com/CiCiApp/PyInvoice -Invoice/receipt generator. +Invoice/Receipt Generator. Dependency ---------- -* reportlab +* Reportlab * Python 2.6+/3.3+ +-------------------+-------------------+-------------------+-------------------+-------------------+ @@ -26,6 +26,61 @@ Dependency | Reportlab 3.2 | | ✓ | ✓ | ✓ | +-------------------+-------------------+-------------------+-------------------+-------------------+ +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')) + + # Tax rate + doc.set_item_tax_rate(20) # 20% + + # Transactions detail, optional + doc.add_transaction(Transaction('Paypal', 111, datetime.now(), 1)) + doc.add_transaction(Transaction('Strip', 222, date.today(), 2)) + + # Optional + doc.set_bottom_tip("Email: example@example.com
Don't hesitate to contact us for any questions.") + + doc.finish() + + License ------- MIT \ No newline at end of file