{
  "synthetic": true,
  "not_an_official_template": true,
  "not_an_import_success_test": true,
  "execution": "Python csv/Decimal mapping reference only; no GnuCash/Lexware/Pennylane execution",
  "currency": "EUR",
  "account": "SYNTHETIC-CHECKING",
  "scope": "Pennylane France existingbankaccount minimumfields mapping",
  "single_signed_rows": [
    {
      "date": "2026-10-06",
      "label": "Encaissement fictif",
      "amount": "100.00"
    },
    {
      "date": "2026-10-07",
      "label": "Achat fictif",
      "amount": "-40.00"
    }
  ],
  "alternative_unsigned_split_rows": [
    {
      "date": "2026-10-06",
      "label": "Encaissement fictif",
      "debit": "",
      "credit": "100.00"
    },
    {
      "date": "2026-10-07",
      "label": "Achat fictif",
      "debit": "40.00",
      "credit": ""
    }
  ],
  "alternatives_not_two_uploads": true,
  "date_and_amount_representation": "Reference fixture, not certified file grammar; use current in-app model and check date parsing",
  "signed_expected_movements": [
    "100.00",
    "-40.00"
  ],
  "split_expected_movements": [
    "100.00",
    "-40.00"
  ],
  "expected_net": "60.00",
  "controls": [
    {
      "invalid_debit": "-40.00",
      "decision": "HOLD",
      "reason": "Sign or currency symbol is not an unsigned numeric debit cell"
    },
    {
      "invalid_debit": "+40.00",
      "decision": "HOLD",
      "reason": "Sign or currency symbol is not an unsigned numeric debit cell"
    },
    {
      "invalid_debit": "40.00 €",
      "decision": "HOLD",
      "reason": "Sign or currency symbol is not an unsigned numeric debit cell"
    }
  ],
  "in_app_official_template_bytes": "NOT_VERIFIED",
  "empty_side": "Empty string means no amount in this exercise; do not enter literal Vide"
}
