firefly-import-preprocessor/config/config.example.json
2026-05-06 23:17:54 +02:00

233 lines
4.8 KiB
JSON

{
"metadata": {
"extractionRules": [
{
"name": "account_iban",
"lineNumber": 2,
"regex": "IBAN:\\s*([A-Z0-9 ]+)",
"captureGroup": 1
},
{
"name": "account_name",
"lineNumber": 1,
"regex": "Konto:\\s*(.+)",
"captureGroup": 1
},
{
"name": "currency_code",
"lineNumber": 3,
"regex": "Währung:\\s*([A-Z]{3})",
"captureGroup": 1
}
]
},
"capitalizationExceptions": ["AG", "GmbH", "SA"],
"csvStructure": {
"headerLine": 5,
"inputDelimiter": ";",
"outputDelimiter": ",",
"encoding": "UTF-8",
"hasBom": false
},
"columnTransformations": [
{
"sourceColumn": "Buchungsdatum",
"transformations": [
{
"type": "dateformat",
"fromFormat": "d.m.Y",
"toFormat": "Y-m-d"
}
],
"outputColumn": "date",
"outputAction": "overwrite"
},
{
"sourceColumn": "Buchungstext",
"transformations": [
{
"type": "trim"
},
{
"type": "replace",
"search": " ",
"replace": " "
},
{
"type": "lowercase"
}
],
"outputColumn": "description",
"outputAction": "overwrite"
},
{
"sourceColumn": "Auftraggeber/Empfänger",
"transformations": [
{
"type": "trim"
},
{
"type": "ucwordsfirst"
},
{
"type": "truncate",
"maxLength": 100
}
],
"outputColumn": "opposing_name",
"outputAction": "overwrite"
},
{
"sourceColumn": "Mitteilungen",
"transformations": [
{
"type": "trim"
},
{
"type": "split",
"delimiter": ";",
"part": 0
},
{
"type": "lowercase"
},
{
"type": "ucwordsfirst"
}
],
"outputColumn": "merchant",
"outputAction": "create"
},
{
"sourceColumn": "Mitteilungen",
"transformations": [
{
"type": "regexextract",
"pattern": "(\\d{4,} .*)"
}
],
"outputColumn": "location",
"outputAction": "create"
},
{
"sourceColumn": "Belastung",
"transformations": [
{
"type": "replace",
"search": "'",
"replace": ""
},
{
"type": "replace",
"search": ",",
"replace": "."
}
],
"outputColumn": "amount",
"outputAction": "create"
},
{
"sourceColumn": "Gutschrift",
"transformations": [
{
"type": "replace",
"search": "'",
"replace": ""
},
{
"type": "replace",
"search": ",",
"replace": "."
}
],
"outputColumn": "amount_credit",
"outputAction": "create"
},
{
"sourceColumn": "Saldo",
"transformations": [
{
"type": "replace",
"search": "'",
"replace": ""
},
{
"type": "replace",
"search": ",",
"replace": "."
}
],
"outputColumn": "balance",
"outputAction": "create"
},
{
"sourceColumn": "_constant_",
"transformations": [
{
"type": "constantvalue",
"metadataKey": "account_iban"
}
],
"outputColumn": "account_iban",
"outputAction": "create"
},
{
"sourceColumn": "_constant_",
"transformations": [
{
"type": "constantvalue",
"metadataKey": "currency_code"
}
],
"outputColumn": "currency_code",
"outputAction": "create"
},
{
"sourceColumn": "_constant_",
"transformations": [
{
"type": "constantvalue",
"metadataKey": "account_name"
}
],
"outputColumn": "account_name",
"outputAction": "create"
}
],
"fireflyImport": {
"mode": "docker",
"jsonConfig": "/import/configs/ubs-import.json",
"importerCommand": "docker exec firefly-importer php artisan importer:import",
"autoImport": false,
"deleteAfterImport": false,
"chunkSize": 0,
"chunkRetries": 0,
"chunkRetryDelay": 0,
"connectionTimeout": 10,
"timeout": 300,
"environment": {
"FIREFLY_III_URL": "https://your-firefly.com",
"FIREFLY_III_ACCESS_TOKEN": "your-token-here"
}
},
"directories": {
"source": "/opt/ubs-csv-transformer/import/source",
"output": "/opt/ubs-csv-transformer/import/output",
"archive": "/opt/ubs-csv-transformer/import/archive",
"error": "/opt/ubs-csv-transformer/import/error"
},
"test": {
"maxRows": 10,
"showOutput": true
}
}