Skip to main content



Coupa Success Portal

Company Codes, Cost Centers, and GL Account Code Combinations from SAP to Coupa

When configuring Coupa to properly integrate with SAP, Coupa’s dynamic accounting functionality typically must be used. The number of segments involved tends to create too many possible combinations to pre-define each account under Coupa’s standard account string model.

The following accounting elements are involved in most SAP environments:

  • Company Code
  • Purchase Org
  • Purchase Group
  • Account Assignment Category
  • Cost Center
  • Business Area
  • General Ledger
  • Internal Order
  • WBS Element
  • Asset
  • Plant
  • Material Group

Because the Company Code in SAP is at the header level of Purchase Orders and Invoices, we usually define a separate Chart of Accounts (COA) in Coupa for each company. The values available for several of the accounting elements in SAP are driven by the company selected so a separate COA for each company helps to simplify the data structure in Coupa and provide the right level of filtering for end users. This model also provides the right level of flexibility and segmentation when integrating with multiple instances of SAP at larger organizations.Company Codes can also belong to a specific Purchase Org in SAP. Since we usually define our Chart of Accounts at the company code level, we normally don’t specify the Purchase Org in Coupa. If needed, we could add a custom field to the lookup values to define the Purchase Org associated with each company code. Purchase Group can be added as a custom field on either the Requisition as a user-populated field or we can add the value as a custom field on the Supplier profile and map to each supplier.

There are several options for Plants depending on the requirements for each organization. We can set each Plant up as a ship-to address which is selected on the Requisition. Or if the Plants need to be filtered by company code we can either map each company code to a specific Plant or we can add the Plant as an accounting segment and filter the appropriate values for each company.

Material Group is synonymous with Commodity in Coupa so these values are normally defined as such in Coupa. In many organizations the Material Group also drives the available General Ledger values so we can map each Commodity code to a single GL Account or we can add the Material Group as an accounting segment to provide the user with a filtered list of GL Accounts for each Material Group.

The Account Category selected drives which accounting fields need to be populated. We can enforce similar capability with Coupa’s Account Validation Rules which allow us to prevent certain fields from being populated for each account category:

Integration is most commonly completed via Coupa Standard Flat File Format or IDoc (Intermediate Document). Here is an example of a standard flat-file that can be produced to load your accounting structure into Coupa (note the hierarchical structure for filtering data):

Sample accounting data file

It is common for some of these elements to be maintained manually in Coupa due to the the relatively static nature of the data (Company Codes, Account Categories, and Commodities for example). This structure does allow each business object to be loaded individually to allow some to be manually maintained and others to be integrated.

For IDoc integration, you can send the following types for each business object to an SFTP site where Coupa will consolidate them into Coupa’s standard flat-file format and automatically load on a scheduled basis:





IDoc Format

Cost Center




General Ledger




Internal Order








If you have PI implemented, we will also provide the transports needed to extract these IDocs and send to Coupa’s SFTP server.

  • Was this article helpful?