TVFK table — TVFK Billing Type Customizing Table
TVFK holds the customizing definition of every billing document type (FKART) in the system: invoice, credit memo, debit memo, cancellation, pro forma, and any custom Z-types. Each row fixes the behaviour of that billing type - its category, its cancellation counterpart, and posting/statistics controls - and every billing document header in VBRK inherits that behaviour by carrying the same FKART value.
TVFK is the SD customizing table where billing document types are defined - one row per FKART, controlling billing category and cancellation logic. This page covers the fields worth trusting, how the table joins to VBRK, and the recurring mistake of treating TVFK settings as document-level facts rather than type-level defaults that can be overridden downstream.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 950 words
What it stores
One row in TVFK represents one billing document type - the configuration object identified by the code entered in FKART, such as F2 for a standard invoice, S1 for a cancellation, or G2 for a credit memo. The row does not represent a document; it represents the rulebook a document of that type follows. It fixes what kind of billing category the type belongs to (invoice, credit memo, cancellation, pro forma and similar), which billing type is used to cancel documents created with it, and low-level controls such as whether posting to accounting is blocked and whether statistics update is relevant. Every actual billing document created in VBRK points back to exactly one row here through its FKART field, and inherits that row's behaviour unless something further downstream in the pricing or account determination chain overrides it.
Key fields
- MANDT - client
- FKART - billing type, the primary key and the value stored on every VBRK-FKART record
- FKTYP - billing category, distinguishing invoice, credit memo, debit memo, cancellation and pro forma behaviour
- FKSTO - the billing type used to cancel documents of this type (present on cancellation-capable types)
How it joins the data model
- TVFK-FKART = VBRK-FKART, the join that ties every billing document header back to its type definition
- TVFK-FKART = T683-FKART, used where the pricing procedure determination table carries a billing type key rather than a sales document type key
- VBRK-FKART = VBRP-FKART (denormalized on the item), so item-level reporting can filter by billing type without joining back to the header table separately
How to read it safely
TVFK is a small, client-dependent customizing table, typically a few dozen rows per client even in a system with heavy Z-type usage. There is no real performance concern reading it directly; the risk is misreading what a field controls. Always restrict on MANDT first out of habit, then select on FKART if checking a specific type. Do not try to infer document behaviour purely from this table without also checking the copy control and account determination tables that sit alongside it - TVFK sets the type's identity, not the full behaviour chain a document goes through.
How to prove it in the data
Symptom: a billing document cannot be cancelled, or the wrong cancellation type is proposed. Pull the FKART from the offending VBRK record, then select TVFK where FKART equals that value and read the cancellation billing type field. If that field is blank, the type was never configured for cancellation and the system is behaving correctly by refusing or by falling back to a manual entry - the fix belongs in customizing, not in the document.
ECC vs S/4HANA
TVFK carries forward into S/4HANA unchanged as a customizing table maintained through the standard SD billing configuration path. It has not been replaced by a CDS compatibility view because it is a configuration table, not a transactional table subject to the VBAK/VBAP-style data model simplification. Existing custom billing types and their TVFK entries migrate through the standard customizing transport path during an ECC to S/4HANA conversion without remapping.
Common pitfalls
- Assuming a blocked posting flag on TVFK explains a specific document stuck in accounting - the block could equally sit in copy control, the account determination procedure, or a release strategy elsewhere; TVFK is the first place to check, not the only place
- Reading FKTYP as a hard business category and assuming all types with the same category behave identically in pricing or output determination - FKTYP groups behaviour loosely, it does not guarantee identical downstream configuration across two types that share it
- Changing the cancellation billing type on a live type in a productive client to fix one document, which retroactively changes the proposed cancellation type for every future document of that type, not just the one causing the incident
- Confusing TVFK (billing types) with TVAK (sales document types) - both are small customizing tables with a similar shape and both get pulled up in the same troubleshooting session, and mixing up which FKART or AUART belongs to which table wastes time mid-incident
- Treating a missing row for a Z-billing type as a data problem when it is a transport problem - the type exists in one client's customizing and not another because the customizing request was never released or included in the transport
Whose problem this is
TVFK is SD configuration owned by the SD/billing functional consultant, maintained through the standard billing customizing path and moved by change requests through the transport landscape. A functional question about why a billing type behaves a certain way belongs to that consultant; a question about why a specific transport failed to bring a TVFK entry into a downstream client belongs to Basis.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/tvfkERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.