A simple python script to quickly create bulk invoices.
Project description
BulkInvoicer
BulkInvoicer is a simple, offline-friendly CLI tool that helps freelancers and small businesses manage invoices and receipts in bulk using Excel. It generates professional-looking invoices, client summaries, and account statements—all from a single spreadsheet.
✨ Features
- 📁 Excel-Based Workflow – Use your existing spreadsheet to manage invoices.
- 🖨️ Beautiful Invoice Generation – Create printable invoices with custom styling.
- 🎨 Fully Customisable Templates – Modify colours, headers, footers, and fields.
- 📱 UPI QR Code Support – Automatically embed UPI QR codes for instant payments.
- 📊 Summary Pages – Generate overall and client-specific summaries.
- 📄 PDF Output Options – Export combined, client-wise, or individual invoice PDFs.
- 🔄 Auto-Matching Receipts – Match invoices with receipts and track advance payments.
- ⚙️ Simple TOML Configuration – Customise output types and preferences easily.
- 🔒 Offline & Open Source – Works entirely offline and is fully open-source.
📦 Installation
You can get BulkInvoicer from both PyPi and GitHub:
PyPi
Just run:
pip install bulkinvoicer
GitHub
You can also get BulkInvoicer directly from GitHub:
pip install git+https://github.com/yashovardhan99/bulkinvoicer.git#egg=bulkinvoicer
🛠️ Usage
- Prepare your invoice data in an Excel file (use the same format as given in
sample.xlsx). - Create a
config.tomlfile to define your preferences. - Run the CLI command
incoiverto generate invoices and summaries.
Alternatively, you can run it directly using pipx:
pipx run bulkinvoicer
You can find a sample config.toml file at sample.config.toml
⚒️ Changes
All changes to this project are tracked in our CHANGELOG. If you create a pull request, please include a summary of your changes in this file.
📜 License
This project is licensed under the MIT License. See the LICENSE file for more details.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bulkinvoicer-0.1.0.tar.gz.
File metadata
- Download URL: bulkinvoicer-0.1.0.tar.gz
- Upload date:
- Size: 840.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa522f2bc6a6319472707a5610fbc0516ae8bffd0be3a571089a8b307ae1d5d9
|
|
| MD5 |
96176c78858a3049ed186279db735723
|
|
| BLAKE2b-256 |
741497ce5bbbe3e2853dbe532a98c16d6aaad95af5d622b10b2fcccfa3e545c5
|
Provenance
The following attestation bundles were made for bulkinvoicer-0.1.0.tar.gz:
Publisher:
release.yml on yashovardhan99/bulkinvoicer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bulkinvoicer-0.1.0.tar.gz -
Subject digest:
aa522f2bc6a6319472707a5610fbc0516ae8bffd0be3a571089a8b307ae1d5d9 - Sigstore transparency entry: 404570850
- Sigstore integration time:
-
Permalink:
yashovardhan99/bulkinvoicer@92fcad07cf1aa552b4bc2e6bc3d377811973d6d0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yashovardhan99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@92fcad07cf1aa552b4bc2e6bc3d377811973d6d0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file bulkinvoicer-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bulkinvoicer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 406.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4cf3b0cbbcb7556f914967dff6919973b5cab85690799bbc703222227e31b9d
|
|
| MD5 |
a77fdcb763df4e02da858f22134b09c5
|
|
| BLAKE2b-256 |
4138d69d75eb1877f0fff7e7d34f61ba9b47bc7c8422d78766ffa0cbd2e92455
|
Provenance
The following attestation bundles were made for bulkinvoicer-0.1.0-py3-none-any.whl:
Publisher:
release.yml on yashovardhan99/bulkinvoicer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bulkinvoicer-0.1.0-py3-none-any.whl -
Subject digest:
f4cf3b0cbbcb7556f914967dff6919973b5cab85690799bbc703222227e31b9d - Sigstore transparency entry: 404570851
- Sigstore integration time:
-
Permalink:
yashovardhan99/bulkinvoicer@92fcad07cf1aa552b4bc2e6bc3d377811973d6d0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/yashovardhan99
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@92fcad07cf1aa552b4bc2e6bc3d377811973d6d0 -
Trigger Event:
workflow_dispatch
-
Statement type: