Skip to content
Artificial intelligence. Clearly. RSS feed
AI NEWS AI

News. Evidence. Perspective.

Build & CodeExplainer

Teach Paperless-ngx to recognise your utility bills

Its built-in classifier learns from documents you have already filed. This small exercise for an existing installation uses one tag, reviewed examples and two new documents whose filing you can check.

A searchable document archive still needs a sensible filing system. Paperless-ngx turns documents into a searchable collection; its built-in Auto matching option can learn which tags belong on incoming documents from the examples already in that collection.[1][3]

This exercise assumes you already have a working Paperless-ngx installation, permission to edit documents and tags, and an Inbox tag configured for new arrivals. It is based on the project’s documentation; we have not run it on a household archive. The task is to build and check one category: Utility bills.

Choose a category the page can explain

Define Utility bills as invoices for household electricity, gas or water. A tariff announcement from the same supplier should stay outside it. That distinction gives you something more demanding to check than whether a company’s name appears. Keep a new bill and a new non-bill aside for the final exercise.

Auto needs examples both with and without the target label, and a relationship between the document’s text and that label. A personal status such as “Deal with this tomorrow” cannot reliably be inferred from the page. The documentation provides no minimum document count that guarantees a useful classifier.[3]

Prepare examples, then enable Auto

  1. In the tag management area, create Utility bills. Open existing invoices, check their contents and apply that tag. Leave it off other reviewed documents.
  2. Inspect the extracted content shown for the documents. That text is used for matching; a page that looks readable in the preview can still have poor extracted text.
  3. Finish reviewing each example before removing its Inbox tag. Keep documents that still need attention in the inbox.
[2]

Paperless excludes every document carrying an inbox tag from classifier training. In the Utility bills tag settings, choose Auto as its matching algorithm and save; Auto needs no match phrase. Training is periodic: by default, Paperless checks hourly for changes and retrains when needed.[3]

Include different bill layouts if they already occur in your archive, along with ordinary documents outside the category. The aim is a coherent set of examples you understand. A hundred unchecked labels would give you less confidence about what you are teaching than a smaller set you have read carefully.

Check two fresh arrivals

After the scheduled training, use the dashboard’s upload control or drag the two reserved files into the application. Use documents that have not been imported before. Open each new record and inspect its tags: the bill should have Utility bills; the other document should not. These are the exercise’s expected outcomes, not reported test results.[2]

If a tag is wrong, correct it before completing the review. Check the extracted text, the examples and whether retraining has occurred.[3]

Finally, filter the document list by Utility bills and inspect the resulting collection. The filter should retrieve the invoices you mean to keep together, including the new bill once correctly filed. Leave an unresolved arrival in the inbox until its metadata is right.[2]

A successful first exercise leaves you with a useful collection and a precise record of what needed correction. Repeat that judgement on later arrivals. The convenient part is letting a learned category handle a recurring filing decision; the category itself remains yours to define.

Follow the evidence

Sources & further reading

  1. Paperless-ngx project README Paperless-ngx project · Accessed 19 Oct 2026
  2. Basic Usage Paperless-ngx documentation · Accessed 19 Oct 2026
  3. Advanced Topics: matching and automatic matching Paperless-ngx documentation · Accessed 19 Oct 2026