Paperwork Filer

A Uliya skill for UGREEN AI NAS. Track: Automate Your Workflow

1. What it is. A Uliya skill that takes the paperwork you drop into one NAS folder and files it into a trusted archive, with a ledger and an expiry watch, without you touching a single file.

2. User and problem. Anyone who scans or downloads receipts, invoices, contracts, warranty cards, insurance policies and subscription bills ends up with a folder of scan_0412.pdf files nobody can search. When a warranty or policy ends, nobody notices.

3. Solution. The skill reads each document with the NAS document expert, names it YYYY-MM-DD_vendor_amount, moves it to <year>/<category>/, tags it, appends a row to ledger.csv, and rewrites expiring-soon.md with everything ending in the next 90 days. Unreadable files are set aside for review, never guessed.

4. Main flow. Inventory the inbox and hash files for duplicates → extract vendor, date, amount, currency, reference and expiry per file → show one plan table (old name, new name, destination, tag, ledger row, duplicates, needs-review) → wait for approval → move, rename and tag → write ledger and expiry list → report counts and the soonest expiry.

5. Differentiation. Most archive skills stop at "move into folders". This one adds an expiry and renewal watch, exact and probable duplicate detection, a running CSV ledger, consistent vendor normalisation, and a plan-then-approve gate so a wrong extraction never moves a file silently.

6. NAS features used. File management: ug-filesystem (find, stat, md5sum, mkdir, cpmv, rename) and ug-filemgr (scan-dedupe, tags). Documents: ug-document extract with the receipt, invoice, contract and expense schemas, plus metadata. Knowledge: ug-knowledge save-text for the ledger and expiry list. All through the registered experts via delegate.

7. Technical approach. Orchestration-only Markdown skill following the Uliya Skill Development Standard: SKILL.md plus three linked references (extraction fields and filename rule, folder layout, edge cases). The local NAS model does the reading; no external calls, no scripts, no credentials. Every delegation handles completed, failed, cancelled, waiting_user and waiting_approval, with partial results preserved.

8. Built, not built, needs NAS testing. Built: the full skill package, passing the official static checker with zero errors and warnings. Not built: nothing in scope. Needs NAS testing: real extraction coverage on poor scans, tag creation on first run, and collision suffixes during moves.

9. Tests. Core test 1: ten mixed receipts and invoices in the inbox are filed into the correct year and category folders with correct names, and the ledger has ten rows. Core test 2: a warranty card and an insurance policy ending within 90 days appear in expiring-soon.md, sorted soonest first. Edge case: two scans of the same receipt are reported as a duplicate group, neither is moved, and the ledger gains one row only.

10. Limits, risks, dependencies. Extraction quality on handwritten or low-resolution scans; those files go to review rather than being misfiled. Only one inbox folder per run. No currency conversion. No third-party code or licences.

Built With

  • markdown
  • ug-document
  • ug-filesystem
  • ug-knowledge
  • ugreen-nas
  • uliya-skill-kit
Share this project:

Updates

Submission history