{% extends "base.html" %} {% block title %}Settings — BILLS{% endblock %} {% block content %}

License

Checking license status…

Data Storage

PDF Storage Folder

Where uploaded PDFs are saved. Organised automatically as StorageFolder\YYYY\MM\

{% if pdf_storage_folder %}
✅ {{ pdf_storage_folder }}
{% endif %}
Database Location

Current file: {{ db_path }}. Change the folder above and click Move DB to copy the database there. Restart the app for the new location to take effect.

Network & Mobile Access

By default, BILLS only accepts connections from this PC. Enable LAN access to use BILLS from your phone (e.g. to upload receipt photos directly with the camera).

Loading network info…

⚠ When LAN access is on, anyone on the same Wi-Fi network can reach BILLS at this URL. Use only on trusted networks and deactivate when not used.

Running PDF ID

It auto-increments after each upload.

CIF/NIF Ignore List

Comma-separated list of your own company CIF/NIF numbers. These will be excluded when extracting the invoice issuer's VAT number from PDFs.

{% if ignore_vat_list %}
{% for vat in ignore_vat_list.split(',') %} {% if vat.strip() %} {{ vat.strip() }} {% endif %} {% endfor %}
{% endif %}

Emitted Invoices

Invoices you issue to clients (vs. invoices you receive from suppliers). Detected automatically from a marker in the filename; reconciled against positive (incoming) bank transactions.

Filename Marker

Case-insensitive substring searched anywhere in the filename. If found, the invoice is tagged as emitted. Leave empty to disable the feature — all uploads default to received.

{% if emitted_marker %}
✅ Marker: {{ emitted_marker }}  ·  matches e.g. 1763_{{ emitted_marker }}_client.pdf
{% endif %}
Default Payment Term
days after invoice date

Fallback for computing when an emitted invoice is overdue. Used only when an invoice has no explicit due date set.

Aging Brackets
days — comma-separated

Cutoffs for the Dashboard's aging panel (unpaid-invoice buckets by days overdue). Default: 30, 60, 90Not yet due · 0–30 · 31–60 · 61–90 · 90+.
Preview:

Expense Categories

Loading…
Assigns the Company Chart Colors palette to categories, sorted by invoice count.

Project Names

Loading…
Assigns the Company Chart Colors palette to projects, sorted by invoice count.

Export Format

Applies to all exports from the Dashboard.

OCR Languages

Tesseract trained-data files used when extracting text from scanned PDFs. New languages are downloaded from the official tessdata repository (~10–25 MB each).

Locating tessdata folder…
Installed
Loading…
Install a Language
or
Active OCR Languages

Codes joined by +. Only installed languages should be listed — using a missing one will make OCR fail.

Company Chart Colors

Palette used for "By Company" doughnut and bar charts on the Dashboard.

Bank Matching

Weights must sum to 1.0. Auto-match fires when a single candidate (or a clear winner by score gap) exceeds the auto threshold.

Exclusion Rules

Auto-exclude movements from the "Missing Invoice" workflow — for transactions that will never have an invoice (salaries, taxes, transfers, loan repayments). Excluded movements stay in the database; they just don't show up in chase-up lists.

Loading…

Tip: you can also create rules with one click from the Movements page — right-click any movement row.

Bank Templates

Define column mappings for your bank's XLSX/CSV export. This lets you import statements from any bank.

Loading…

Backup Database

Download a copy of your database. Your browser will prompt you for a save location.

⬇ Download Backup

Danger Zone

Wipes all invoices and bank rows. Settings, bank templates, expense categories and project names are preserved.

{% endblock %}