CLI client for the Yuki bookkeeping SOAP API
Project description
yuki
CLI client for the Yuki bookkeeping SOAP API.
Query invoices, VAT returns, GL accounts, contacts, and projects. Find missing invoices by cross-referencing bank transactions against booked items. Upload documents with metadata.
Install
cargo install yuki-cli
Or via pip:
pip install yuki-cli
From source:
make install
Setup
yuki init
Prompts for your Yuki API key, discovers available administrations, and writes the config to ~/.config/yuki/config.toml.
Non-interactive setup:
yuki init --api-key <key> --default-admin <name>
Commands
Querying
yuki vat returns # List all VAT return periods
yuki vat returns --year 2025 # Filter by year
yuki vat codes # List active VAT codes
yuki invoices list --invoice-type purchase # Outstanding purchase invoices
yuki invoices show <transaction-id> # Transaction details
yuki invoices document <transaction-id> # Document linked to a transaction
yuki contacts search "Hetzner" # Search contacts
yuki contacts list # List all suppliers and customers
yuki accounts balance --account 11001 --period 2025-Q1
yuki accounts transactions --account 11001 --period 2025-Q1
yuki accounts scheme # Chart of accounts (GL scheme)
yuki accounts revenue --period 2025-Q1 # Net revenue for a period
yuki accounts start-balance --year 2025 # Opening balances per GL account
yuki projects list # List all projects
yuki projects balance <code> --period 2025 # Project balance
yuki documents list --folder inkoop # List documents in a folder
yuki documents search "factuur" # Full-text search
yuki documents exists --amount 7.28 --date 2025-03 # Check if invoice exists
yuki admin list # List administrations
yuki admin switch <name> # Change default administration
Gap analysis
yuki check btw 2025-Q4 # VAT period check: outstanding items
yuki check unmatched --period 2026-Q1 # Bank debits without matching invoices
yuki check outstanding <reference> # Check if a reference is still outstanding
Uploading
yuki upload file invoice.pdf # Upload to uitzoeken (auto-sorted)
yuki upload file invoice.pdf --folder inkoop # Upload to specific folder
yuki upload file invoice.pdf --amount 114.27 \
--category 45100 --payment-method 4 \
--remarks "Hosting" # Upload with metadata
yuki upload categories # List cost category IDs
yuki upload payment-methods # List payment method IDs
Global flags
| Flag | Description |
|---|---|
--admin <name> |
Override default administration |
--format table|json |
Output format (auto-detects TTY) |
--quiet |
Suppress informational output |
Periods
The --period flag accepts:
2025— full year2025-Q1— quarter2025-03— single month
Agent use
When stdout is not a TTY (piped or called by an agent), output defaults to JSON. Errors are also structured JSON on stderr. Exit codes: 0 success, 1 general error, 2 auth error, 3 not found, 4 rate limited.
The documents exists command exits with code 3 when no matching document is found, making it easy to use in scripts and agent workflows.
Config
~/.config/yuki/config.toml:
api_key = "your-api-key"
default_admin = "company_name"
# Skip these counterparties in `check unmatched` (case-insensitive substring match)
unmatched_ignore = [
"Belastingdienst",
"ING bankkosten",
]
[administrations.company_name]
domain_id = "domain-uuid"
admin_id = "admin-uuid"
Development
make check # Run clippy + fmt check + tests
make build # Debug build
make release # Release build
make fmt # Format code
make install # Install to ~/.cargo/bin/
License
MIT
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
Built Distributions
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 yuki_cli-0.1.1.tar.gz.
File metadata
- Download URL: yuki_cli-0.1.1.tar.gz
- Upload date:
- Size: 52.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db5908a71bf0c87f05738dd246245afa7e5a63def7b63670c774b582b304286
|
|
| MD5 |
5bfb4d7558a35b0c7359a5c497386c70
|
|
| BLAKE2b-256 |
778c9f1b4454a84bc6003ef5002ae710d898fb5dc90407c93b23495ae48eec23
|
File details
Details for the file yuki_cli-0.1.1-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: yuki_cli-0.1.1-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c80e51e6e4c9e7a9bb90918533ae8226a8ccc0e056ed98f8ca31102c5461c976
|
|
| MD5 |
7cae98586335714d821a08401ce9e69d
|
|
| BLAKE2b-256 |
979424ff6b8a89d30ce0feb09b4df18ebdacbbf9dbc52052e7a04743184c1c37
|
File details
Details for the file yuki_cli-0.1.1-py3-none-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: yuki_cli-0.1.1-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
466f9f43dd37076060bb34ec4456f188a0e5ea33651c2c1ddf98b1157dfd99ff
|
|
| MD5 |
d85e4c0a18a6ecac75dc9d86510654a3
|
|
| BLAKE2b-256 |
a0b6801af9a9e08ec2e0467fc41bdb84893590e961b1be8224fdd75f95095a0f
|
File details
Details for the file yuki_cli-0.1.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: yuki_cli-0.1.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cddcc3856e4a894ae2e45de7f2341438535001731249e6888498a4055b4f3435
|
|
| MD5 |
786732f5f595624847d8d3abb4f89d96
|
|
| BLAKE2b-256 |
0ab98c4e2e8102ac7d3842ad83a92cea04cec5692d442f88ecfc7b522a107617
|
File details
Details for the file yuki_cli-0.1.1-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yuki_cli-0.1.1-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d14706dc0b8968d19f04270af202c57d55d90e026ee47339dbf1bbf33457224
|
|
| MD5 |
a1e206b345fa9a6d541bd9f21c2d73d5
|
|
| BLAKE2b-256 |
47d152e1ec6db9160fe1848f47c8d26fdfd59b0c1168efc251724bfca81e924c
|