Skip to content
ERP Preflight

Account Determination Preflight

OBYC (MM), VKOA (SD) and FBKP (FI) automatic account determination preflight: missing accounts, posting blocks, conflicting and catch-all entries, expected-combination and movement-type / plant coverage, coverage matrix and regression scenarios.

Content reviewed September 26, 2026

Engine
ACCOUNT_DETERMINATION_PREFLIGHT
Domain
Operations
Version
1.1.0
Target releases
S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
Accepted formats
JSON, CSV

Input contract

Automatic account determination: JSON {'chart_of_accounts', 'company_code', 'obyc_rules': [...], 'vkoa_rules': [...], 'fi_rules': [...], 'ska1_accounts': [...], 'skb1_accounts': [...], 'valuation_classes': [...], 'movement_types': [{movement_type, transaction_key, account_modifier}], 'plants': [{plant, valuation_grouping_code}], 'expected_combinations': [{model, ..., expected_account}]} or CSV exports of T030 (KTOPL, KTOSL, BKLAS, KONTS/KONTU), C001/VKOA (VKORG, KTOSL, SAKNR), SKA1, SKB1. Company-code checks run only for an explicitly supplied company code.

Required input

  • OBYC, VKOA and/or FI determination entries
  • Resolution model: MM (OBYC) exact key, then blank valuation grouping, then blank valuation class; SD (VKOA) customer + material AAG, customer AAG, material AAG, sales org + account key; FI exact key, then blank modifier. Movement types, plants, FI rules and expected combinations are read from JSON.

Finding codes

Finding codes (8)

  • ACCT_DET_ACCOUNT_BLOCKED_POSTINGDefault severity: CriticalCategory: GL_POSTING_SECURITY

    Determined G/L account is blocked for posting

    Remediation: Remove the posting block in FS00 (chart of accounts or company code level) or point the determination entry to an unblocked account.

  • ACCT_DET_ACCOUNT_NOT_IN_COMPANY_CODEDefault severity: CriticalCategory: GL_MASTER_SYNCHRONIZATION

    Determined account not created in the company code

    Remediation: Extend the G/L account to the company code (FS00 / 'Manage G/L Account Master Data') before go-live.

  • ACCT_DET_EXPECTED_COMBINATION_UNCOVEREDDefault severity: CriticalCategory: COVERAGE_MATRIX

    Expected combination resolves to no account

    Remediation: Maintain the determination entry for the listed combination (OBYC for MM, VKOA for SD, the FI automatic posting key for FI - in the cloud via the corresponding SSCUI) before go-live or the change.

  • ACCT_DET_MISSING_ACCOUNTDefault severity: CriticalCategory: ACCOUNT_DETERMINATION_INTEGRITY

    No G/L account determined for a required combination

    Remediation: Maintain the missing entry in OBYC (MM: transaction key / valuation class) or VKOA (SD: sales org / account key) — in the cloud via the corresponding SSCUI — so postings do not fail with 'account determination error'.

  • ACCT_DET_MOVEMENT_TYPE_UNCOVEREDDefault severity: CriticalCategory: COVERAGE_MATRIX

    Movement type / plant / valuation class without OBYC account

    Remediation: Maintain OBYC for the listed transaction key, account modifier, valuation grouping code and valuation classes (or restrict the movement type's valuation classes) so goods movements in the listed plants do not fail with 'account determination for entry ... not possible'.

  • ACCT_DET_CONFLICTING_RULESDefault severity: MajorCategory: DETERMINATION_AMBIGUITY

    Conflicting determination entries for the same key

    Remediation: Remove the duplicate / conflicting OBYC or VKOA entries so each condition key resolves to exactly one account.

  • ACCT_DET_EXPECTED_ACCOUNT_MISMATCHDefault severity: MajorCategory: COVERAGE_MATRIX

    Determined account differs from the expected account rule

    Remediation: Correct the determination entry (or the expected account rule, if the rule is outdated) so that the combination posts to the expected G/L account; re-run the regression scenarios afterwards.

  • ACCT_DET_SUSPICIOUS_CATCH_ALLDefault severity: MajorCategory: DETERMINATION_AMBIGUITY

    Catch-all / default determination entry

    Remediation: Replace the wildcard or generic default entry by explicit entries per valuation class / account assignment group, or document why a single default account is intended; catch-alls hide missing specific entries and post unexpected combinations silently.

Input validation codes (5)

  • ACCT_ARCHIVE_REJECTEDDefault severity: MajorCategory: INPUT_VALIDATION

    Archive rejected by ingestion safety limits

    Remediation: The archive exceeded the 100:1 expansion ratio, 500 MB total size, entry-count or 2-level nesting limit, or contained path traversal / encrypted members. Upload a flat, unencrypted archive of the export files. No verdict was produced. Re-export the artifact in one of the formats accepted by Account Determination Preflight (JSON, CSV) and re-run the analysis.

  • ACCT_INVALID_INPUTDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact does not match the engine input contract

    Remediation: Provide the artifact type documented for this engine; unrelated or structurally invalid documents are rejected. No verdict was produced. Re-export the artifact in one of the formats accepted by Account Determination Preflight (JSON, CSV) and re-run the analysis.

  • ACCT_PARSE_ERRORDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact could not be parsed

    Remediation: Fix the syntax error at the reported line/column (or re-export the file unmodified from SAP). No verdict was produced. Re-export the artifact in one of the formats accepted by Account Determination Preflight (JSON, CSV) and re-run the analysis.

  • ACCT_PAYLOAD_TOO_LARGEDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact exceeds the size limit

    Remediation: Split the export (e.g. per package, company code or date range) so each upload stays under the service payload limit. No verdict was produced. Re-export the artifact in one of the formats accepted by Account Determination Preflight (JSON, CSV) and re-run the analysis.

  • ACCT_INSUFFICIENT_INPUTDefault severity: InfoCategory: INPUT_VALIDATION

    Required input missing

    Remediation: Supply every input the engine's contract marks as required (see the engine catalog entry). No verdict was produced. Re-export the artifact in one of the formats accepted by Account Determination Preflight (JSON, CSV) and re-run the analysis.

Back to the documentation
Account Determination Preflight — ERP Preflight Docs