SAP functional issueObjectTax code not permitted for the company codeModuleFI_FICO

Tax Code Not Permitted for Company Code

This error means the tax code entered on the document is not defined for the country assigned to the company code, or it exists but has no valid percentage record for the posting date, or it carries a deletion flag. Tax codes are built per country in FTXP, not per company code, so the message really points to a country or validity mismatch, most often on a newly opened or copied company code.

This page covers the FI posting error that blocks document entry when the tax code used is not valid for the company code involved. It focuses on why a tax code that works fine elsewhere fails here, how to trace it back to country assignment, validity dates or a deletion flag, and how to fix it without creating a second problem in tax reporting.

Published 16 Sept 2026· 1,165 words

The business symptom

An AP clerk or shared service processor tries to post a vendor invoice or a journal entry and the system stops the save with a message that the tax code is not permitted, or not defined, for this company code. The user swears the same tax code works in every other invoice they enter that morning. It usually surfaces right after a new company code goes live, after an existing company code is copied for a new legal entity, or when someone keys a cross-border intercompany document and reuses a tax code from the wrong entity out of habit. The finance team frames it as the invoice being stuck, with the payment run deadline approaching, and asks for the tax code to simply be added or allowed for their company code, assuming it is a one-line master data fix.

The configuration behind it

  • Country mismatch: the tax code was created in FTXP for one country but the company code in question is assigned to a different country in its master record. Tax codes are country-level objects, not company-code-level, so a code built for DE will never post in a company code carrying country code FR, regardless of what the tax percentage looks like.
  • Deletion indicator set on the tax code: someone flagged the code for deletion in FTXP, often as part of a rate change cleanup, and it now blocks new postings even though historical documents still reference it fine.
  • No valid percentage record for the posting date: the tax code exists and is assigned to the right country, but its rate line has a validity end date earlier than the document date, or a new rate line was never added after a statutory rate change.
  • Tax procedure reassigned at country level after go-live: the calculation procedure linked to the country was changed, and tax codes built under the old procedure are now orphaned from the company codes under that country.
  • Incomplete transport: the tax code structure moved through the landscape but the percentage rates, which transport separately from the code definition, were left behind, leaving a code that exists but has nothing usable attached to it in the target client.
  • Company code copied from a template in a different country without correcting the country key, so every tax code the business expects to use was never built for the country the new company code actually carries.
  • Jurisdiction code mismatch in tax-jurisdiction-based procedures, where the tax code was built against a jurisdiction structure that does not match the one assigned to the company code.

What to check

  • Reproduce the posting and capture the exact message text and message number, not just the summary the user gave.
  • In FTXP, display the tax code for the country in question and confirm it exists at all under that country key.
  • Check the company code master data for the country assigned to it, and compare it against the country the tax code was built under in FTXP.
  • In FTXP, open the tax code's rate details and check the validity period against the document posting date.
  • Check whether the tax code carries a deletion indicator.
  • Check the tax calculation procedure assigned to the company code's country and confirm the tax code belongs to that same procedure.
  • If the company code or tax code was recently transported, check the transport request contents to confirm the percentage rates moved along with the tax code shell.
  • Compare against a company code where the same tax code posts successfully, focusing on country and jurisdiction structure differences.

How to prove it in the data

Pull the company code master to confirm its country key, then pull the tax code list from FTXP for that country and check whether the code in question appears, along with its validity dates and deletion status. Cross-check by extracting documents with that tax code from the line item table filtered on company code and posting date to see whether it ever posted successfully there, or only in other company codes, which confirms whether this is a country mismatch or a validity gap.

Resolution path

If the root cause is a country mismatch, the fix is to build the tax code correctly under the company code's actual country in FTXP, which is a configuration change requiring transport through the landscape, not a same-system quick fix. If a deletion indicator is blocking a code that should still be active, removing the flag is a config change in FTXP, but check first whether the flag was set deliberately for a superseded rate before reversing it. If the rate record is missing or expired for the posting date, add a new validity line with the correct percentage in FTXP, which is configuration but can usually move faster since it does not touch the account determination. If the tax procedure was reassigned at country level, the tax codes under the old procedure need to be rebuilt under the new one and the related account determination in the tax accounts configuration needs to be checked as well, which is a heavier change involving finance sign-off. If the cause is an incomplete transport, retransport the tax code together with its rate data rather than patching the rate manually in each downstream system, to keep the landscape consistent.

The fix people try first (and why it fails)

The reflex fix is to tell the user to key a different tax code that happens to post, or to hunt for a similarly-named code from another company code and force it through. Both get the invoice posted but apply the wrong tax treatment or rate, which shows up later as a discrepancy on the VAT or sales tax return and requires a correction posting to fix. Removing a deletion flag without checking why it was set is equally risky, since it can bring back a superseded rate after a statutory change and misstate tax on every document posted with it until someone notices.

Whose problem this is

Tax code configuration sits with the FI/tax configuration owner, working with local tax or finance control on rate correctness before any code is rebuilt or unflagged. AP or AR consultants confirm the reproduction and gather the company code, tax code, posting date and exact message, then hand off with the country comparison already done so config does not have to start the investigation from zero.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-functional-issues/tax-code-not-permitted-for-the-company-codeERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.