{
  "id": "csob-pdf",
  "bank": "ČSOB",
  "label": "ČSOB — výpis v PDF",
  "version": 2,
  "format": "textRegex",
  "catalogue": {
    "country": "CZ",
    "keywords": [
      "čsob",
      "csob",
      "výpis",
      "pdf"
    ],
    "howTo": "Měsíční výpis z účtu nebo z kreditní karty ČSOB ve formátu PDF."
  },
  "detect": {
    "contentContains": [
      "VÝPIS Z ÚČTU",
      "Přehled pohybů na účtu"
    ]
  },
  "textRegex": {
    "encoding": "utf-8",
    "multiline": true,
    "dotAll": false,
    "startAt": "Přehled pohybů na účtu",
    "stopAt": "Prosíme Vás o včasné překontrolování",
    "pattern": "^(?<datum>\\d{2}\\.\\d{2}\\.)[ ]+(?<popis>.*?)[ ]+(?<ident>\\d+)[ ]+(?<castka>-?\\d[\\d\\u00A0 ]*,\\d{2})[ ]+(?<zustatek>-?\\d[\\d\\u00A0 ]*,\\d{2})[ \\t]*\\r?\\n(?<zbytek>(?:(?![ ]*\\d{2}\\.\\d{2}\\.[ ])(?!VÝPIS Z ÚČTU)(?!Období:)(?!Účet:)(?!Název účtu:)(?!Strana:)(?!Rok/č\\. výpisu:)(?!BIC:)(?!IBAN:)(?!Typ účtu:)(?!Měna:)(?!Frekvence:)(?!Datum Označení)(?!Valuta Protiúčet)(?!Přehled pohybů)(?!Souhrnné informace)(?!Počáteční zůstatek:)(?!Konečný zůstatek:)(?!Počet kreditních)(?!Počet debetních)(?!Československá obchodní banka)(?!zapsaná v obchodním rejstříku)[^\\r\\n]*\\r?\\n?)*)"
  },
  "documentFields": {
    "rok": {
      "pattern": "Období:\\s*\\d{1,2}\\.\\s*\\d{1,2}\\.\\s*(\\d{4})",
      "group": 1
    },
    "ucetVypisu": {
      "pattern": "Účet:\\s*([0-9-]+/[0-9]{4})",
      "group": 1
    },
    "mena": {
      "pattern": "Měna:\\s*([A-Z]{3})",
      "group": 1,
      "default": "CZK"
    }
  },
  "checks": {
    "creditCount": {
      "pattern": "Počet kreditních položek:\\s*(\\d+)",
      "group": 1
    },
    "debitCount": {
      "pattern": "Počet debetních položek:\\s*(\\d+)",
      "group": 1
    },
    "creditSum": {
      "pattern": "Celkové příjmy:\\s*(-?[\\d\\u00A0 ]+,\\d{2})",
      "group": 1
    },
    "debitSum": {
      "pattern": "Celkové výdaje:\\s*(-?[\\d\\u00A0 ]+,\\d{2})",
      "group": 1
    },
    "number": {
      "decimal": ",",
      "grouping": " "
    }
  },
  "row": {
    "date": {
      "template": "{datum}{rok}",
      "date": "dd.MM.yyyy"
    },
    "amount": {
      "from": "castka",
      "number": {
        "decimal": ",",
        "grouping": " "
      }
    },
    "balance": {
      "from": "zustatek",
      "number": {
        "decimal": ",",
        "grouping": " "
      }
    },
    "currency": {
      "from": "mena",
      "default": "CZK"
    },
    "accountNumber": {
      "from": "ucetVypisu"
    },
    "counterpartyAccount": {
      "from": "zbytek",
      "transforms": [
        {
          "op": "regexExtract",
          "pattern": "(\\d{1,6}-\\d{2,10}/\\d{4}|\\d{2,10}/\\d{4})",
          "group": 1
        }
      ]
    },
    "variableSymbol": {
      "from": "zbytek",
      "transforms": [
        {
          "op": "regexExtract",
          "pattern": "(?:\\d{1,6}-)?\\d{2,10}/\\d{4}[ ]+(\\d{1,10})[ ]+\\d{1,10}",
          "group": 1
        }
      ]
    },
    "constantSymbol": {
      "from": "zbytek",
      "transforms": [
        {
          "op": "regexExtract",
          "pattern": "(?m)(?:\\d{1,6}-)?\\d{2,10}/\\d{4}[ ]+(?:\\d{1,10}[ ]+)?(\\d{1,10})[ ]*$",
          "group": 1
        }
      ]
    },
    "counterpartyName": {
      "from": "zbytek",
      "transforms": [
        {
          "op": "regexExtract",
          "pattern": "Místo:[ ]*(.+)",
          "group": 1
        },
        {
          "op": "collapseSpaces"
        }
      ],
      "fallback": {
        "from": "popis",
        "transforms": [
          {
            "op": "replace",
            "pattern": "^(Trvalý příkaz elektronicky|Jednorázový příkaz elektronicky|Jednorázový příkaz|Příchozí úhrada okamžitá|Odchozí úhrada okamžitá|Příchozí úhrada|Odchozí úhrada|Čerpání úvěru platební kartou|Transakce platební kartou|Splátka kreditní karty|Splátka úvěru|Bezhotovostní převod EB|Výběr hotovosti|Vklad hotovosti|Inkaso|Poplatek|Úrok)",
            "with": ""
          },
          {
            "op": "collapseSpaces"
          },
          {
            "op": "replace",
            "pattern": "^\\d+$",
            "with": ""
          }
        ]
      }
    },
    "operation": {
      "from": "popis",
      "transforms": [
        {
          "op": "regexExtract",
          "pattern": "^(Trvalý příkaz elektronicky|Jednorázový příkaz elektronicky|Jednorázový příkaz|Příchozí úhrada okamžitá|Odchozí úhrada okamžitá|Příchozí úhrada|Odchozí úhrada|Čerpání úvěru platební kartou|Transakce platební kartou|Splátka kreditní karty|Splátka úvěru|Bezhotovostní převod EB|Výběr hotovosti|Vklad hotovosti|Inkaso|Poplatek|Úrok)",
          "group": 1
        }
      ]
    },
    "message": {
      "from": "zbytek",
      "transforms": [
        {
          "op": "replace",
          "pattern": "(?m)^.*\\d{2,10}/\\d{4}.*$",
          "with": ""
        },
        {
          "op": "replace",
          "pattern": "(?m)^Místo:.*$",
          "with": ""
        },
        {
          "op": "replace",
          "pattern": "(?m)^Částka:.*$",
          "with": ""
        },
        {
          "op": "replace",
          "pattern": "(?m)^[\\d ]+$",
          "with": ""
        },
        {
          "op": "collapseSpaces"
        }
      ]
    }
  },
  "bankCategoryMapping": {
    "Čerpání úvěru platební kartou": "Nezařazeno",
    "Splátka kreditní karty": "Převod"
  }
}
