Business Partner Conversion and CVI Explained
CVI (Customer/Vendor Integration) is the synchronization layer that keeps the business partner (BP) data model in sync with the classic customer (KNA1/KNB1/KNVV) and vendor (LFA1/LFB1) tables. In S/4HANA it is mandatory and the direction runs BP-to-customer/vendor; in ECC it was an optional add-on used to prepare for eventual conversion of legacy master data into business partners.
This page covers what business partner conversion and CVI actually do underneath the BP transaction, when a project needs to touch the configuration deliberately versus letting it run in the background, and the specific failure modes that show up during mass conversion of legacy customer and vendor master data. It is written for the architect who has to decide the number range, direction, and mapping strategy before a system conversion, not for someone learning what a business partner is for the first time.
Published 16 Sept 2026· 1,518 words
What it is
Business partner (BP) is the unified master data object in S/4HANA covering customers, vendors, and any other party role. CVI is the synchronization framework that keeps the BP tables and the classic customer (KNA1, KNB1, KNVV) and vendor (LFA1, LFB1) tables consistent with each other, because they are two separate data models describing the same real-world entity, linked by a mapping table and a shared number range assignment. The structural fact that explains most confusion: those older tables never disappeared. Pricing conditions, sales orders, FI documents, and years of custom Z-programs still read KNA1 and LFA1 directly, so CVI has to keep populating them every time a BP is created or changed, even though the intended direction in S/4HANA is BP-authoritative, customer/vendor-generated. Anything that writes to the old tables outside that framework produces a business partner that is out of step with the record everyone else in the system is reading.
When to use it
CVI runs constantly in every S/4HANA system whether anyone thinks about it or not; it fires on every BP create or change. It has to be touched deliberately in three situations: converting existing ECC customer and vendor master data into business partners as part of a system conversion (this is a mandatory, checked simplification item), mass-loading business partners from a legacy or third-party source during a migration, and diagnosing a sync failure where a BP exists but the corresponding customer or vendor role never got created, or vice versa. It is the wrong tool to reach for as a workaround: writing directly to KNA1 or LFA1 through a batch job, an old transaction, or a direct table update in an S/4HANA system bypasses the mapping table entirely and produces an orphaned record that reconciliation reports will flag but that ordinary users will not notice until a sales order or invoice run fails.
How it fits the stack
Below CVI sit the physical tables: BUT000 and related BP tables on one side, KNA1/KNB1/KNVV and LFA1/LFB1/LFM1 on the other. CVI itself is a middleware layer with its own customizing: synchronization direction, field mapping, and the linkage between BP groupings and customer/vendor account groups. Above CVI sits transaction BP for manual maintenance, the migration cockpit for mass loads, and any BAPI-based custom program that creates business partners programmatically. It replaces the old maintenance transactions XD01, XK01, FD01, FK01, VD01, and VK01, which S/4HANA disables by default. It does not replace account group customizing or number range configuration in FI/SD; it depends on both being correctly linked to BP groupings before any synchronization run is attempted.
A worked example
A system conversion project inherits an ECC system with roughly forty thousand customer records and fifteen thousand vendor records, none of them linked to a business partner. The readiness check flags the business partner approach as a mandatory pre-conversion item. The team configures CVI with synchronization direction set to customer/vendor-to-BP for the initial load, maps each customer and vendor account group to a corresponding BP grouping, and decides whether to reuse the existing customer and vendor number ranges or generate fresh internal BP numbers. The mass synchronization run then walks the customer and vendor tables and creates a matching business partner for each one, assigning the appropriate customer role and vendor role and copying address and communication data. A reconciliation report compares record counts on both sides and turns up around two hundred customers that failed conversion because of missing country codes or blocked deletion flags; those get corrected and reprocessed individually. Once the counts match, the direction flag is switched to BP-to-customer/vendor so that all further maintenance happens through the BP transaction and the old transactions stay disabled.
How to choose
- Direction setting: customer/vendor-to-BP is right during the initial conversion load; BP-to-customer/vendor is right once the system is live and BP is meant to be the only entry point. Ask which phase the project is actually in before touching this flag, because leaving it in the wrong state after go-live is one of the most common sources of silent data drift.
- Number range strategy: reusing existing customer and vendor number ranges keeps continuity for downstream interfaces but forces the BP number range to be constrained by whatever grouping rules already exist. Generating fresh internal BP numbers is cleaner technically but breaks number continuity that some interfaces and reports depend on.
- Mass load mechanism: the standard synchronization cockpit handles the mapped standard fields correctly but does nothing for custom fields added to KNA1 or LFA1 over the years. A custom BAPI-based load program gives control over those fields but has to be built and tested, not assumed to exist.
- Timing relative to the system conversion: doing the conversion pre-emptively in ECC with the CVI add-on installed reduces the risk and downtime of the actual technical conversion weekend, but requires the add-on to be installed and tested well ahead of the cutover, which is often underestimated in the project plan.
- Custom field handling: every Z-field on KNA1 or LFA1 needs an explicit decision — map it into a BP extension structure, or accept that it will not survive the conversion. This has to be an audited list, not an assumption.
Common pitfalls
- Number range overlap between customer, vendor, and BP ranges is not caught in test because test data volumes are small; it surfaces halfway through a production mass run when a batch of records fails silently.
- A business partner gets created without the matching customer or vendor role because the account group was never linked to a BP grouping, and the failure only shows up later when someone tries to create a sales order against that business partner.
- Custom fields added to KNA1 or LFA1 years earlier are never mapped into CVI and are dropped without any error message; nobody notices until a report that relies on that field comes up empty after go-live.
- The synchronization direction flag is left in the wrong state after cutover, so an interface or batch job that still writes to the old tables directly never reaches the business partner side, and reconciliation reports keep flagging drift that nobody can explain.
- Rerunning failed records without checking the mapping table first creates duplicate business partners for the same customer or vendor.
- Mass synchronization on a large customer or vendor base takes far longer than expected if it is not run with parallel processing, and a project plan that budgets an evening for it ends up needing a full weekend.
- One-time customer accounts, CPD accounts, and records flagged for deletion are routinely missed by generic conversion logic and need a separate pass.
- Treating the conversion as a technical footnote rather than a data quality project; the actual effort is almost always in cleaning up incomplete or inconsistent legacy master data, not in the CVI configuration itself.
ECC, S/4HANA and clean core
On ECC, CVI was an optional add-on installed specifically to prepare a customer and vendor master data set for eventual conversion to business partners. On S/4HANA, CVI is mandatory and always active, and the old customer and vendor maintenance transactions are disabled by default; business partner is the only supported entry point for this master data. The business partner conversion is a fixed, checked item in every system conversion readiness assessment. From a clean core standpoint, any custom master data field should be built as a business partner extension through standard extensibility rather than added directly to KNA1 or LFA1, because CVI mapping already forces the architectural question of where that field belongs, and modifying the standard tables directly works against every clean core upgrade path.
Whose problem this is
The functional master data lead owns account group design, BP role assignment, and number range strategy. The architect owns the synchronization direction decision and the reconciliation approach across the landscape. The developer builds any custom field mapping and mass load logic. Handover should include the number range assignment table, the audited list of custom fields with their BP mapping decision, and the reconciliation report from the last synchronization run.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-technical-topics/business-partner-conversion-and-cviERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.