SAP Procure to Pay accelerator Stay organized with collections Save and categorize content based on your preferences.
The SAP accelerator for theprocure-to-pay process is a sample implementation of theSAP Table Batch Sourcefeature in Cloud Data Fusion. The SAP Procure to Pay accelerator helpsyou get started when you create your end-to-end procure-to-pay process andanalytics. It includes sample Cloud Data Fusion pipelines that you canconfigure to perform the following tasks:
- Connect to your SAP data source.
- Perform transformations on your data in Cloud Data Fusion.
- Store your data in BigQuery.
- Set up analytics in Looker. This includes dashboards and anML model, where you can define the key performance indicators (KPIs) foryour procure-to-pay process.
This guide describes the sample implementation, and how you can get startedwith your configurations.
The accelerator is available in Cloud Data Fusion environments running inversion 6.4.0 and above.
Before you begin
- Sign in to your Google Account.
If you don't already have one, sign up for a new account.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission.Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Data Fusion and BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission.Learn how to grant roles.In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission.Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Data Fusion and BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission.Learn how to grant roles.- Download theSAP Table Batch Source.
- You must have access to a Looker instance and have the marketplacelabs feature turned on to install the Looker Block. You canrequest a free trial to get access to an instance.
Required skills
Setting up the SAP Procure to Pay accelerator requires the following skills:
- Expertise in SAP on-premises ERP systems and configuration
- Familiarity with theCloud Data Fusion
- Familiarity withBigQuery
- Familiarity withLooker
- Familiarity withIdentity and Access Management (IAM) service accountsand access control
- Familiarity with data analytics, including writing SQL queries
- Familiarity withKimball's dimensional data model
Required users
The configurations described on this page require changes in your SAP system andin Google Cloud. You need to work with the following users of thosesystems to perform the configurations:
| User type | Description |
|---|---|
| SAP admin | Administrator for your SAP system who can access the SAP service site for downloading software. |
| SAP user | An SAP user who is authorized to connect to an SAP system. |
| GCP admin | Administrator who controls IAM access for your organization, who creates and deploys service accounts and grants permissions for Cloud Data Fusion, BigQuery, and Looker. |
| Cloud Data Fusion user | Users who are authorized to design and run data pipelines in Cloud Data Fusion. |
| BigQuery Data Owner | Users who are authorized to create, view, and modify BigQuery datasets. |
| Looker Developer | These users can install the Looker Block through theMarketplace. They must havedevelop,manage_model, anddeploy permissions. |
Required IAM roles
In the accelerator's sample implementation, the following IAMroles are required. You might need additional roles if your project relies onother Google Cloud services.
- BigQuery Admin(
roles/bigquery.admin) - BigQuery Data Owner(
roles/bigquery.dataOwner) - Storage Object Viewer(
roles/storage.objectViewer) - Cloud Data Fusion Runner(
roles/datafusion.runner)needs to be granted to the Dataproc service account
Process overview
You can implement the accelerator in your project by following these steps:
- Configure the SAP ERP systemandinstall the SAP transportprovided.
- Set up your Cloud Data Fusion environment to use the SAP Table Batch Source plugin.
- Create datasets in BigQuery.The accelerator provides sample datasets for staging, dimensional, and facttables.
- Configure the sample Cloud Data Fusion pipelines from the acceleratorto integrate your SAP data.
- From the Cloud Data Fusion Hub, deploy the pipelinesassociated with the procure-to-pay analytics process. These pipelines mustbe configured correctly to create the BigQuery dataset.
- Connect Looker to the BigQuery project.
- Install and deploy the Looker Block.
For more information, seeUsing the SAP Table Batch Source plugin.
Sample datasets in BigQuery
In the sample implementation in this accelerator, the following datasets arecreated in BigQuery.
| Dataset name | Description |
|---|---|
sap_cdf_staging | Contains all the tables from the SAP Source system as identified for thatbusiness process. |
sap_cdf_dimension | Contains the key dimension entities like Customer Dimension and MaterialDimension. |
sap_cdf_fact | Contains the fact tables generated from the pipeline. |
Sample pipelines in Cloud Data Fusion
Note: A table is a collection of records inside a dataset inBigQuery. A pipeline is the series of ETL functions that exist tomove data between a source and a destination (such as a BigQuerytable).Sample pipelines for this accelerator are available in the Cloud Data FusionHub.
To get the sample pipelines from the Hub:
- Go to your instance:
In the Google Cloud console, go to the Cloud Data Fusion page.
To open the instance in the Cloud Data Fusion Studio,clickInstances, and then clickView instance.
- ClickHub.
- Select theSAP tab.
- SelectPipelines. A page of sample pipelines opens.
- Select the desired pipelines to download them.
Each of the pipelines contains macros that you can configure to run in yourenvironment.
Note: Changing the SQL macros is non-trivial. For example, a change to thetarget schema also requires changes to the data loading andLooker configurations.There are three types of sample pipelines:
- Staging layer pipelines: The staging dataset in this type ofpipeline is a direct mapping to the original source table in SAP. Thesample staging layer pipelines have names that refer to the SAP sourcetable and the BigQuery target table. For example, a pipelinenamed
LFA1_Supplier_Masterrefers to the SAP Source Table (LFA1) andBigQuery target table (CustomerMaster). - Dimension layer pipelines: The dimension layer dataset in this typeof pipeline is a curated and refined version of the staging dataset thatcreates the dimension and facts needed for the analysis. Thesample pipelines have names that refer to the target entity in the targetBigQuery dataset. For example, a pipeline called
customer_dimensionrefers to the Customer Dimension entity in theBigQuery datasetsap_cdf_fact. - Fact layer pipelines: The fact layer dataset is a curated andrefined version of the staging dataset that creates the facts that arenecessary for the analysis. These sample pipelines have names thatrefer to the target entity in the target BigQuery dataset.For example, a pipeline called
sales_order_factdelivers curated data tothe Sales Order Fact entity in the corresponding BigQuerydatasetsap_cdf_fact.
The following sections summarize how to get the pipelines to work in yourenvironment.
Configure staging layer pipelines
There are two configuration steps for the staging pipelines:
- Configure the source SAP system.
- Configure the target BigQuery dataset and table.
Parameters for the SAP Table Batch Source plugin
The SAP Table Batch Source plugin reads the content of an SAP table or view.The accelerator provides the following macros, which you can modify tocontrol your SAP connections centrally.
| Macro name | Description | Example |
|---|---|---|
${SAP Client} | SAP client to use | 100 |
${SAP Language} | SAP logon language | EN |
${SAP Application Server Host} | SAP server name or IP address | 10.132.0.47 |
${SAP System Number} | SAP system number | 00 |
${secure(saplogonusername)} | SAP user name | For more information, seeUsing Secure Keys. |
${secure(saplogonpassword)} | SAP user password | For more information, seeUsing SecureKeys. |
${Number of Rows to Fetch} | Limits the number of extracted records | 100000 |
For more information, seeConfiguring the plugin.
Parameters for the BigQuery target
The accelerator provides the following macros for BigQuery targets.
BigQuery target connector configuration
| Macro name | Description | Example |
|---|---|---|
${ProjectID} | The project ID where the BigQuery dataset has been created. | sap_adaptor |
${Dataset} | Target dataset | sap_cdf_staging |
Sample pipelines used for procure-to-pay KPIs
The following key business entities in the procure-to-pay process correspondwith sample pipelines in the accelerator. These pipelines deliver the data thatpowers the analytics about these entities.
| Key business entities | Corresponding pipeline name |
|---|---|
Supplier SAP source tables capture details about the supplier as they pertain to the business. Information from these tables contributes to thesupplier_dimension in the data warehouse dimensional layer. | LFA1_SupplierMaster |
Material orProduct is the commodity that is traded between the enterprise and its customers. Information from these tables contributes to the material_dimension in the data warehouse dimensional layer. | MARA_MaterialMaster |
| The procure-to-pay process begins with anorder, which includes order quantity and details about the material items. | EKKO_PurchaseOrderHeader |
| TheGoods Receipt sub-process, which includes movement details about Material items. | MATDOC_GoodsReceipt |
| TheInvoicing sub-processes, which includes requested invoice document details. | RBKP_InvoiceHeader |
| The procure-to-pay process ends when the invoice payment is logged in your system. | ACDOCA_UniversalJournalItem |
All Cloud Data Fusion staging pipelines
The following Cloud Data Fusion staging pipeline samples are available inthe accelerator:
ACDOCA_JournalLedgerDetailsADR6_SupplierMasterEMailDetailsADRC_SupplierMasterAddressDetailsBKPF_AccountingDocumentHeaderDetailBSEG_AccountDocumentItemBUT000_BusinessPartnerGeneralDataDetailsBUT020_BusinessPartnerAddressDetailsCEPCT_ProfitCenterDescriptionEBAN_PurchaseRequisitionDetailsEKBE_PurchaseOrderHistoryDetailEKET_PurchaseOrderScheduleLinesDetailEKKO_PurchaseOrderHeaderDetailEKPO_PurchaseOrderItemDetailFINSC_BTTYPE_T_BusinessTransactionTypeDescriptionFINSC_LEDGER_T_JournalLedgerDescriptionLFA1_SupplierMasterDetailsLFB1_SupplierMasterCompanyCodeDetailsMARA_MaterialMasterMATDOC_MaterialMovementDetailsMKPF_MaterialMovementHeaderDetailMSEG_MaterialMovementItemDetailRBKP_InvoiceReceiptHeaderDetailRSEG_IncomingInvoiceItemDetailT001_CompanyCodesT001_CompanyCodesT001K_ValuationAreaDetailsT001L_MaterialStorageLocationT001W_PlantDetailsT002T_LanguageKeyDescriptionT003T_AccountingDocumentTypeDescriptionT005_CountryMasterT006A_UnitOfMeasureT007S_PurchaseSalesTaxCodeDescriptionT023T_MaterialGroupDescriptionT024_PurchasingGroupsDetailsT024E_PurchasingOrganizationsDetailsT024W_PlantPurchasingOrganizationsDetailsT156HT_MaterialMovementTypeDescriptionT161T_PurchasingDocumentTypeDescriptionT163M_ConfirmationCategoryDescriptionT16FE_PurchaseDocumentReleaseIndicatorDescriptionTBSLT_PostingKeyDescriptionTCURT_CurrencyCodesTextTKA01_ControllingAreaMaster
Configure dimensional layer pipelines
You can extract KPIs from source SAP tables. To prepare the data for analysis,organize the data in the source table to match the BigQuerytable's schema structure.
The accelerator creates the following sample tables:
| Table name | Table description |
|---|---|
Supplier_dimension | Curated list* of Suppliers and their associated facts such as supplier general information and supplier sales-related information. |
Material_dimension | Curated list of Materials and associated facts such as SKU number, product hierarchy, and classification. |
Purchase_Order_Fact | List of purchase orders, including purchase org, group, and order type. |
Goods_Receipt_Fact | Curated list of goods receipts, including profit center and movement type information. |
Invoice_Fact | Curated list of Invoice related information, including Invoice type, item quantity, value, and date of Invoice posting. |
Accounting_Fact | Curated list of accounting postings for each purchase order line item. |
*In this context, the curated list comes from business logic that gets appliedto the selected list of columns.
The accelerator builds the dimensional layer of the BigQuerydataset using SQL scripts, which you can modify for your project. For example,you can adapt these scripts to add more columns to the targetBigQuery dataset entities.
Transformation to star schema: BigQuery executor pipeline names
The following BigQuery executor pipelines inCloud Data Fusion load data into dimension and fact tables:
All dimensional transformation pipelines:
Supplier_dimensionMaterial_dimensionPurchase_Order_FactGoods_Receipt_FactInvoice_FactAccounting_Fact
BigQuery executor configuration
| Macro name | Example |
|---|---|
${ProjectID} | sap_adaptor |
${StagingDatasetName} | sap_cdf_staging |
${TargetDatasetName} | sap_cdf_dimension |
Connect Looker to the BigQuery project
To connect Looker to BigQuery, seethe Looker documentation aboutBigQuery connections.
Install the block
Note: You need access to a Looker instance to install and usethis block.You can access theSAP Looker Block on GitHub.
TheLooker Block installs a pre-configuredLookML model with twoExplore environments and two dashboards.
What's next
- Learn more aboutCloud Data Fusion.
- Learn more aboutSAP on Google Cloud.
- Learn more aboutBigQuery.
- Learn more aboutLooker Blocks.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-15 UTC.