aboutsummaryrefslogtreecommitdiff
path: root/sorter/rules.toml
blob: 0c0a7ac8b0249e92c8249aa106ff20f9ca8ef510 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# ─────────────────────────────────────────────────────────────────────────────
#  Downloads Sorter — Rules Configuration (TOML)
#
#  PRIORITY: content_keywords > filename_keywords
#  File contents are scanned first; filename is used as fallback.
#
#  FOLDER PATHS: relative to your Downloads directory.
#  Use / for subfolders, e.g. "Work/ARC"
#
#  KEYWORD TIPS:
#  - Case-insensitive ("arc" matches "ARC", "Arc", "arc")
#  - Partial match ("kasprzak" matches "Łukasz Kasprzak International Trade")
#  - Always quote strings — avoids TOML type surprises with numbers
#  - NIP/REGON/KRS numbers are the most reliable content keywords
#  - Polish characters work fine (ł, ó, ą, ś, ź, etc.)
#  - Categories are checked in order — first match wins
# ─────────────────────────────────────────────────────────────────────────────

# Catch-all folder for files that match no category
fallback_folder = "Other"

# File types to scan (add or remove extensions as needed)
supported_extensions = [
    ".pdf",
    ".docx",
    ".doc",
    ".txt",
    ".xlsx",
    ".xls",
    ".md",
    ".odt",
]

# ── Categories ────────────────────────────────────────────────────────────────
# Each [[categories]] block defines one destination folder.
# Add as many blocks as you need.

[[categories]]
name        = "Work/ARC"
description = "Arc of Asia Sp. z o.o. — documents, invoices, correspondence"
content_keywords = [
    "arc of asia",
    "arc of asia spółka z ograniczoną odpowiedzialnością",
    "arc of asia spolka z ograniczona odpowiedzialnoscia",
    "aleja grunwaldzka 56",
    "9571181577",        # NIP
    "540356138",         # REGON
    "0001140839",        # KRS
    "pl957118157700000", # EORI
]
filename_keywords = [
    "arc",
    "aoa",
    "arc_of_asia",
]

[[categories]]
name        = "Work/LKIT"
description = "Łukasz Kasprzak International Trade — documents, invoices, correspondence"
content_keywords = [
    "łukasz kasprzak international trade",
    "lukasz kasprzak international trade",
    "8181739189",  # NIP
    "540804571",   # REGON
]
filename_keywords = [
    "lkit",
    "kasprzak",
]

[[categories]]
name        = "AKW"
description = "Akademia Katolicka w Warszawie"
content_keywords = [
    "akademia katolicka w warszawie",
    "akademia katolicka",
]
filename_keywords = [
    "akw",
]

# ── Add more categories below ─────────────────────────────────────────────────

# [[categories]]
# name        = "Finance/Banking"
# description = "Bank statements, Revolut, account history"
# content_keywords = [
#     "revolut",
#     "account statement",
#     "wyciąg bankowy",
# ]
# filename_keywords = [
#     "revolut",
#     "statement",
#     "wyciag",
# ]

# [[categories]]
# name        = "Finance/Invoices"
# description = "VAT invoices and receipts"
# content_keywords = [
#     "faktura vat",
#     "invoice",
#     "23% vat",
# ]
# filename_keywords = [
#     "faktura",
#     "invoice",
# ]

# [[categories]]
# name        = "Personal/Tax"
# description = "Tax documents and PIT forms"
# content_keywords = [
#     "pit-37",
#     "pit-36",
#     "urząd skarbowy",
#     "zeznanie podatkowe",
# ]
# filename_keywords = [
#     "pit",
#     "podatek",
#     "tax",
# ]