Skip to main content

Python Billomat API Client Library

Project description

Billomat (http://www.billomat.com/): Online service for quoting, billing and more.

Invoices, estimates, reminders, credit notes, order confirmations, delivery notes,…

The billomat[API] is an open data and programming interface which enables you to access the data in your Billomat account.

python-billomat can be used in Google App Engine (GAE).

Features

  • Can be used in Google App Engine (GAE)

  • Recurrings

    • Recurring-Items

    • Recurring-Tags

    • Recurring-Email-Receivers

  • Invoices

    • Invoice-Items

    • Invoice-Tags

    • Invoice-Payments

  • Clients

    • Client-Properties

    • Client-Tags

  • Contacts

  • Articles

    • Article-Properties

    • Article-Tags

  • Reminders

    • Reminder-Items

    • Reminder-Tags

  • Email-Templates

  • Reminder-Texts

  • Customfield for metadata for every Billomat object

  • Credit-Notes

    • Credit-Note-Items

    • Credit-Note-Tags

Installation

pip install python-billomat

Examples

Clients

import pybillomat

conn = pybillomat.Connection(
    billomat_id = "<BillomatId>",
    billomat_api_key = "<BillomatApiKey",
)


# Load one client
client = pybillomat.Client(conn = conn, id = 422909)
print client
# --> Client(id=422909, name=u'TESTFIRMA', ...)


# Iterate over ALL clients.
# It loads the clients gradually. In pages of 30 clients.
clients_iterator = pybillomat.ClientsIterator(conn = conn)
clients_iterator.search()
for client in clients_iterator:
    assert isinstance(client, pybillomat.Client)
    print client.name


# Iterate over the first 10 clients
clients_iterator = pybillomat.ClientsIterator(conn = conn, per_page = 10)
clients_iterator.search()
for client in clients_iterator[:10]:
    assert isinstance(client, pybillomat.Client)
    print client.name


# Create new client
client = pybillomat.Client.create(
    conn = conn,
    name = u"TEST-CUSTOMER with Umlauts ÖÄÜ",
    zip = u"6020",
    city = u"Innsbruck",
    country_code = u"AT",
    first_name = u"TEST-FIRSTNAME",
    last_name = u"TEST-LASTNAME",
    www = u"http://halvar.at/"
)
assert isinstance(client, pybillomat.Client)
print client.name, unicode(client.id)

Invoices

import pybillomat

conn = pybillomat.Connection(
    billomat_id = "<BillomatId>",
    billomat_api_key = "<BillomatApiKey",
)


# Load one invoice
invoice = pybillomat.Invoice(conn = conn, id = 884447)
print invoice
# --> Invoice(address=u'TESTADRESSE', status=u'PAID', ...)


# Iterate over the last 10 invoices
invoices_iterator = pybillomat.InvoicesIterator(conn = conn, per_page = 10)
invoices_iterator.search(order_by = "id DESC")
for invoice in invoices_iterator[:10]:
    assert isinstance(invoice, pybillomat.Invoice)
    print invoice.invoice_number, invoice.status


# Iterate over all DRAFT-invoices
invoices_iterator = pybillomat.InvoicesIterator(conn = conn)
invoices_iterator.search(status = "DRAFT")
for invoice in invoices_iterator:
    assert isinstance(invoice, pybillomat.Invoice)
    print invoice.label, repr(invoice.address), invoice.open_amount


#
# Iterate over all DRAFT-invoices and complete all of them
#
invoices_iterator = pybillomat.InvoicesIterator(conn = conn)

# Search DRAFT-invoices
invoices_iterator.search(status = "DRAFT")
print "Found :", len(invoices_iterator)

# Complete all DRAFT-invoices
for invoice in invoices_iterator:
    assert isinstance(invoice, pybillomat.Invoice)
    invoice.complete()

# Search remaining DRAFT-invoices
invoices_iterator.search(status = "DRAFT")
print "Found:", len(invoices_iterator)

Licenses

  • GNU Library or Lesser General Public License (LGPL)

  • MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-billomat-0.5.2.tar.gz (45.7 kB view details)

Uploaded Source

Built Distribution

python_billomat-0.5.2-py2-none-any.whl (82.9 kB view details)

Uploaded Python 2

File details

Details for the file python-billomat-0.5.2.tar.gz.

File metadata

File hashes

Hashes for python-billomat-0.5.2.tar.gz
Algorithm Hash digest
SHA256 f31bafbcee44d98120a8310ac8a375ac287303c4beb45919f2420530ef1b6b98
MD5 a2ad08850b3505dd06a6106f70965903
BLAKE2b-256 13b674baaa6d36a2e7fc18fec26c1c3e10288217ad63a12301f3eca3c6f3a8ec

See more details on using hashes here.

File details

Details for the file python_billomat-0.5.2-py2-none-any.whl.

File metadata

File hashes

Hashes for python_billomat-0.5.2-py2-none-any.whl
Algorithm Hash digest
SHA256 5444ff986a9874dca51c5967914e6e27cc597b4d3fe8580886c9de07f6f70fd4
MD5 5e47633dc720daceb9964b272678eba3
BLAKE2b-256 8a620354dd4730e02d3f201daa67f8d18eaa822b442b847d7e627abec83ddd56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page