Create your invoice based on Harvest timesheets and calculate the exchange rate to your currency using Transferwise.
Optional: generate invoice using Sevdesk
Generate your personal access token in Harvest using this page.
cp .envrc.local-template .envrc.local
Save your Account ID and your token in .envrc.local
- Generate for the current month
harvest-exporter
- Generate for march:
harvest-exporter --month 3
- Filter by user
harvest-exporter --user "Hans Maier"
- Generate using json output
harvest-exporter --format json
- Generate using other currency
harvest-exporter --currency CHF
- Override hourly rate:
harvest-exporter --hourly-rate 100
This will override the hourly rate reported by harvest prior to applying the nutmide rate.
- Filter by client:
harvest-exporter --client "Some client"
This can be also used to export hours for clients that are external to numtide (client name starting with "External -")
- Generate an invoice with sevdesk
Generate a bill from the harvest exprt for the customer with the ID 1000
$ sevdesk-invoicer --customer "1000" harvest.json
For income tax in Germany one can claim money back for each day. The time report can be obtained from here for each user. Than run this script:
$ working-days-calculator report.csv
Working days: 171 from 2022-01-12 00:00:00 to 2022-12-29 00:00:00
Exports the last month timesheets of user Jon for client Bob
./bin/kimai-exporter --client Bob --user Jon
Calculates how much money still needs to be paid for the current year, given the current revenu, expenses and already payed pre-tax.
$ nix shell $HOME/git/freelancer-toolbox#sevdesk-invoicer -c sevdesk-tax-estimator --tax-office-name 'Finanzamt Berlin Finanzkasse' --harvest-folder 2024 --wise-folder statements/2024
...
Taxes left to pay: XXXXX.XX
- Get for each currency the account number / IBAN.
- Download the bank transactions as CSV from the Transactions tab in Wise
- Run the importer command:
nix shell $HOME/git/freelancer-toolbox#sevdesk-invoicer -c sevdesk-wise-importer -add-account "BE00 0000 0000 0000" "EUR" --add-account 8000000000 USD --import-state wise-import-state.json transaction-history.csv
A command-line interface for managing Paperless-ngx documents, mail accounts, mail rules, and tags. This tool allows you to interact with your Paperless-ngx instance from the command line.
- Search, upload, download, and delete documents
- Manage tags and organize documents
- Configure mail accounts and mail rules for automatic document import
- Secure API token management through password managers
# Search for invoices
paperless-cli documents search "invoice"
# Upload a document with tags
paperless-cli documents upload /path/to/document.pdf --title "Invoice 2024" --tags "1,2,3"
# Create mail rules for automatic processing
paperless-cli mail-rules create "Invoice Rule" \
--filter-from "[email protected]" \
--assign-tags "1,2,3"
See the paperless-cli README for detailed configuration and usage instructions.