Import ING and Kontist statements behind a reviewed column mapping
CSV import is now mapping-driven: N26, ING (metadata preamble, Windows-1252, German decimals) and Kontist exports are recognized locally, and any other layout can have its columns proposed by the configured model from a sample in which letters are replaced by x and digits by 0. Proposals are untrusted: every column must name a supplied header, money must come from one signed column or one debit/credit pair, and formats must be from a closed list. Uploading no longer imports. /api/import is replaced by prepare/confirm/cancel: prepare parses, deduplicates and previews the exact facts, and only confirming at the reviewed revision writes them. ING and AI-mapped facts carry no transaction reference, because repeating SEPA mandate references must never become a transaction identity.
This commit is contained in:
@@ -42,6 +42,12 @@ func sourceLabel(source string) string {
|
||||
return "bank-synced"
|
||||
case "n26_csv":
|
||||
return "CSV"
|
||||
case "ing_csv":
|
||||
return "ING CSV"
|
||||
case "kontist_csv":
|
||||
return "Kontist CSV"
|
||||
case "csv":
|
||||
return "mapped CSV"
|
||||
default:
|
||||
return "source " + strconv.Quote(source)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user