Easily create beautiful pdf invoices.
Project description
Easy Invoice is a package that will help you to create beautiful PDF invoices with ease.
If this package helped you out please star us on Github!
Much appreciated!
Platform support
Platform | Repository | Supported | Link |
---|---|---|---|
PHP | Composer | Yes! | |
Javascript | NPM | Yes! | |
Python | PIP | Yes! | |
Java | Maven | In progress... |
Sample
Installing
Using PIP:
$ pip install easyinvoice
Using PIP3:
$ pip3 install easyinvoice
Example
from easyinvoice.src.EasyInvoice import EasyInvoice
data = {
#Defaults to INVOICE
"documentTitle": "RECEIPT",
#Defaults to en-US, used for number formatting (see docs)
#"locale": "de-DE",
#See documentation 'Locales and Currency' for more info
"currency": "USD",
#or e.g. gst
"taxNotation": "vat",
"marginTop": 25,
"marginRight": 25,
"marginLeft": 25,
"marginBottom": 25,
#Use url or base64
"logo": "https://public.easyinvoice.cloud/img/logo_en_original.png",
#Use url or base64
"background": "https://public.easyinvoice.cloud/img/watermark-draft.jpg",
"sender": {
"company": "Sample Corp",
"address": "Sample Street 123",
"zip": "1234 AB",
"city": "Sampletown",
"country": "Samplecountry"
#"custom1": "custom value 1",
#"custom2": "custom value 2",
#"custom3": "custom value 3"
},
"client": {
"company": "Client Corp",
"address": "Clientstreet 456",
"zip": "4567 CD",
"city": "Clientcity",
"country": "Clientcountry"
#"custom1": "custom value 1",
#"custom2": "custom value 2",
#"custom3": "custom value 3"
},
"invoiceNumber": "2021.0001",
"invoiceDate": "1.1.2021",
"products": [
{
"quantity": "2",
"description": "Test1",
"tax": 6,
"price": 33.87
},
{
"quantity": "4",
"description": "Test2",
"tax": 21,
"price": 10.45
}
],
"bottomNotice": "Kindly pay your invoice within 15 days.",
# Used for translating the headers to your preferred language
# Defaults to English. Below example is translated to Dutch
# "translate": {
# "invoiceNumber": "Factuurnummer",
# "invoiceDate": "Factuurdatum",
# "products": "Producten",
# "quantity": "Aantal",
# "price": "Prijs",
# "subtotal": "Subtotaal",
# "total": "Totaal"
# }
}
# Returns a base64 string containing the invoice as PDF
pdfdata = EasyInvoice.create(data)
# Store the pdf locally
EasyInvoice.save(pdfdata, 'invoice.pdf')
Locales and Currency
Used for number formatting and the currency symbol:
#E.g. for Germany, prices would look like 123.456,78 €
data = { "locale": "de-DE", "currency": "EUR"};
#E.g. for US, prices would look like $123,456.78
data = { "locale": "en-US", "currency": "USD"};
Formatting and symbols are applied through the ECMAScript Internationalization API
Click here for a list of locale codes
Click here for a list of currency codes
Disclaimer: Not all locales and currency codes found in the above lists might be supported by the ECMAScript Internationalization API.
Logo and Background
The logo and url inputs accept either a URL or a base64 encoded file.
Supported file types:
- Logo: image
- Background: image, pdf
URL
data = {
"logo": "https://public.easyinvoice.cloud/img/logo_en_original.png",
"background": "https://public.easyinvoice.cloud/img/watermark_draft.jpg"
};
Base64
data = {
#Note: Sample base64 string
#Please use the link below to convert your image to base64
"logo": "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
"background": "iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
};
Click here for an online tool to convert an image to base64
View PDF
You could view your base64 pdf through the following website: https://base64.guru/converter/decode/pdf
Paste the base64 string and click 'Decode Base64 to PDF'.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for easyinvoice-1.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90001cf4d584111ac03119d6eead657bc4bb20b94de2f3a24cb8d2f19eb6dad5 |
|
MD5 | 192162c84198f8469b3ccfb07cd0f0a9 |
|
BLAKE2b-256 | b8a9745ccab045057cd6b77eea49bd1251e7001d354ce605568a2742f6c83b1d |