Configuring International Pay-Roll in SAP: A Step-by-Step Technical Guide

Configuring International Payroll in SAP – Featured Image PA03 · PAYROLL CONTROL RUN PAYROLL ▶ PC00_M99 · INT’L PAYROLL CONFIGURE ▶ TEST ▶ MOLGA Country Key TARIFF TYPE Tax Class WAGE TYPE /001–/999 SCHEMA Payroll Schema CLUSTER Data Cluster Configuring International Payroll in SAP A STEP-BY-STEP TECHNICAL GUIDE · SAP HCM EXPERT EDITION
⚙️ SAP HCM Technical Guide

Configuring International Payroll in SAP: A Step-by-Step Technical Guide

A practical, expert-written reference for HR professionals and students learning to configure SAP payroll across borders — written in plain English, not consultant-speak.

SR
Senior HR Professional & SAP-HCM Expert · 13+ Years
SAP HCM · Global Payroll · SuccessFactors · Employee Central Payroll
📚 20 min read 🌍 Multi-Country Payroll 🔧 Hands-On Configuration 🎯 Beginner to Advanced

“Setting up payroll for one country is hard enough. Setting it up for ten — across different currencies, tax laws, social contributions, and legal calendars — is where most SAP projects either shine or fall apart. This guide is everything I wish I had when I started.”

Whether you are an HR student trying to understand how SAP payroll actually works, or a consultant preparing to configure an international rollout, this guide will walk you through every critical component — step by step, with real transaction codes, configuration paths, and practical tips built from over a decade in the field.

100+
Countries supported by SAP International Payroll
MOLGA
The master key — Modifier for Local Government Authority
40%
of global SAP payroll projects fail due to incorrect Wage Type mapping

📌 What Is SAP International Payroll?

SAP International Payroll is the component within SAP HCM (Human Capital Management) — now also available as SAP Employee Central Payroll via SuccessFactors — that enables organisations to run payroll simultaneously across multiple countries, each with its own legal rules, tax structure, currency, and social insurance requirements.

Think of it this way: the SAP payroll engine is one powerful calculator. But to tell it which country’s tax rates to apply, which currency to use, which social deductions are mandatory, and how to structure pay slips — you need country-specific configuration. That is exactly what this guide teaches you.

💡

Key Concept: SAP uses a two-digit code called MOLGA (Modifier for Local Government Authority) to identify each country’s payroll rules. Every configuration object you create will be tied to a specific MOLGA. This is the master key to everything international in SAP Payroll.

SAP International Payroll — Architecture Overview

SAP international payroll architecture showing layers from employee data to output LAYER 1 · INPUT DATA Employee Master Data (Infotypes) · Org Assignment · Time Data · Absences · One-Time Payments LAYER 2 · CONFIGURATION ENGINE (Country-Specific) MOLGA Country Key WAGE TYPES Pay Elements SCHEMA/PCR Calc Rules TAX/SI CONFIG Legal Tables PAY PERIOD Control Record LAYER 3 · PAYROLL ENGINE Schema Execution · Gross/Net Calculation · Legal Deductions · Retroactive Processing OUTPUT: Pay Slips · Bank Transfers · Posting to FI · Statutory Reports · Payroll Cluster (Data Storage)

🌍 Understanding MOLGA — The Country Key

Before you touch a single configuration screen, you must understand MOLGA. Every country supported by SAP has a unique two-digit MOLGA code. This code determines which payroll programs, schemas, wage types, and legal tables are relevant for each country. It is the foundation of everything.

MOLGACountryPayroll SchemaCurrencyStatus
01🇩🇪 GermanyD000EURFully Localised
08🇺🇸 United StatesU000USDFully Localised
10🇬🇧 United KingdomG000GBPFully Localised
13🇦🇺 AustraliaA000AUDFully Localised
40🇫🇷 FranceF000EURFully Localised
22🇯🇵 JapanJ000JPYFully Localised
62🇧🇩 BangladeshGenericBDTCustom Required
99InternationalI000FlexibleBase Template
⚠️

Critical Warning: Never mix MOLGA codes. If an employee’s Org Assignment (IT0001) says MOLGA 10 (UK) but their payroll area is assigned to a Germany schema (D000), the payroll run will either error out or produce completely wrong results. MOLGA must be consistent across all configuration objects.

🔧 The 8-Step Configuration Journey

Here is the exact sequence of steps I follow when configuring SAP payroll for a new country. Skip a step and you will almost certainly need to come back and redo work. Follow them in order.

01
Foundation

Define the Enterprise & Personnel Structure

Set up Company Code (linked to FI/CO), Personnel Area, Personnel Subarea, and Employee Group/Subgroup. Every payroll configuration hangs off this org structure. Use transaction codes SPRO → Enterprise Structure → Definition. Ensure the company code currency matches the payroll country currency.

02
Pay Organisation

Configure Payroll Area & Control Record

The Payroll Area defines the pay cycle (monthly, bi-weekly, etc.) and groups employees who are paid together. Use SPRO → Payroll → Basic Settings → Payroll Organisation. Then create the Payroll Control Record via PA03. Set the current period and check the payroll status — this is your “gearbox” for every run.

03
Pay Elements

Define & Configure Wage Types

Wage Types are the atoms of SAP payroll — every single pay element (basic salary, overtime, bonus, tax deduction, employer contribution) is a Wage Type. Use PU98 or SPRO → Payroll → Basic Settings → Wage Types. For international payroll, always copy from the country-specific model wage types — never create from scratch. Map each Wage Type to a G/L account for Financial Accounting integration.

04
Calculation Logic

Set Up Payroll Schema & PCRs

The Payroll Schema is the master calculation program (e.g. X000 for international, D000 for Germany). Personnel Calculation Rules (PCRs) are the individual calculation steps within the schema. Modify schemas using PE01 (schemas) and PE02 (PCRs). Use PE04 to maintain the payroll functions and operations. For international payroll, always work on a copy — never modify SAP standard schemas directly.

05
Legal Compliance

Configure Tax & Social Insurance Settings

This step is the most country-specific. For each country, configure the tax authority tables, tax brackets (tariff types), social insurance carriers, and contribution rates. Access via SPRO → Payroll [Country] → Tax → Basic Settings. For countries without full SAP localisation, you will build custom PCRs to calculate taxes using Wage Type processing rules. Always validate against the local tax authority’s published tables.

06
Time Integration

Integrate Time Management (if applicable)

If your organisation uses SAP Time Management, configure the Time Wage Type Selection Rule (IT2010 / Schema TM00) to ensure time data (hours worked, overtime, absences) feeds correctly into payroll. Use SPRO → Time Management → Time Evaluation. For countries with complex overtime rules (e.g. France, Germany), time schema rules must mirror the legal calculation sequence exactly.

07
Financial Integration

Configure Payroll Posting to FI/CO

Map each Wage Type to a symbolic account, then map symbolic accounts to G/L accounts per company code using SPRO → Payroll → Reporting for Posting Payroll Results to Accounting. Run PC00_M99_CIPE (Post payroll results to FI) after each payroll run. Ensure cost centre assignments align with the CO module setup for accurate cost allocation across international entities.

08
Validation

Simulation, Testing & Go-Live

Run payroll in simulation mode first using PC00_M[MOLGA]_CALC or via PC00_M99_CALC_SIMU for the international version. Compare results against legacy system output or manual calculations for at least three employees per scenario (standard, part-time, leaver). Then release the control record via PA03 and run the actual payroll. Never run live payroll before a UAT sign-off.

💻 Key Transaction Codes Reference

After 13 years, these are the T-Codes I use most frequently for international payroll. Bookmark this table — you will come back to it constantly.

T-CodeDescriptionAreaWhen to Use
PA03Payroll Control RecordAdministrationEvery payroll run — check/change payroll status
PE01Payroll Schema EditorConfigurationView and modify payroll calculation schemas
PE02Personnel Calculation RulesConfigurationEdit individual PCR calculation steps
PE04Payroll Functions & OperationsConfigurationMaintain payroll calculation functions
PU98Wage Type Customising ToolConfigurationCreate and configure wage types
PC00_M99_CALCInternational Payroll RunExecutionRun payroll for international schema
PC00_M99_CIPEPost Results to AccountingExecutionPost payroll to FI after every run
PC_PAYRESULTDisplay Payroll ResultsAnalysisInspect payroll cluster for any employee
PU01Delete Payroll ResultsCautionDelete test/simulation results (use with care)
PUOC_[CC]Off-Cycle PayrollAdministrationAd-hoc payments outside normal pay cycle
SM37Job MonitorAdministrationMonitor background payroll jobs
HRFORMSHR Forms WorkplaceOutputConfigure and preview pay slip templates

📐 Wage Type Configuration — Deep Dive

Wage Types deserve their own deep dive because they are where most international payroll projects go wrong. Get wage type configuration wrong and every downstream calculation — taxes, net pay, posting to FI — will be incorrect.

🔵
Primary

Technical Wage Types

Generated by the payroll schema during calculation. Example: /001 (Total Gross), /559 (Net Pay). Never assigned directly to employees — they appear only in payroll results.

🟢
Direct Input

Dialog/Primary Wage Types

Entered by HR directly on employee infotypes (IT0008 Basic Pay, IT0014 Recurring Payments). Examples: Basic Salary, Housing Allowance, Car Allowance.

🟡
Calculated

Derived Wage Types

Calculated by PCR logic from other wage types. Example: Overtime Premium calculated as 50% of basic hourly rate. Defined entirely within schema logic.

🔴
One-Time

Supplementary Wage Types

Entered via IT0015 (Additional Payments) for one-off items like bonuses, commissions, or special deductions. Processed in the current payroll period only.

🟣
Cumulation

Cumulation Wage Types

Aggregate multiple wage types for reporting. Example: /801 cumulates all taxable earnings. Critical for annual tax reporting and statutory declarations.

🩷
Retro

Retroactive Wage Types

Automatically generated when a retroactive payroll run is triggered (e.g. backdated salary increase). SAP manages the difference calculation; you configure which wage types are retro-relevant.

PE02 · Personnel Calculation Rule — Overtime Calculation (Example)
* PCR: ZOT1 — Calculate Overtime Premium (1.5x) for International Schema
* MOLGA: 99 (International) | Wage Type: 1510 (Overtime Hours)

WGTYP ?1510     * Check if Overtime Hours Wage Type exists in IT
  MULTI  AHR       * Multiply Amount by Hours
  ADDWT  1511      * Store base overtime pay in Wage Type 1511
  AMT=   1511      * Set AMT to Overtime Base
  MULTI  A 0.50    * Calculate 50% premium (total = 1.5x)
  ADDWT  1512      * Store premium in Wage Type 1512
  ADDWT  /001      * Add to Total Gross (/001)

* Wage Type Characteristics (V_512W_D):
*   1510: Not relevant for cumulation /001 (hours only)
*   1511: Cumulate to /001 (Gross), /801 (Tax basis)
*   1512: Cumulate to /001 (Gross), /801 (Tax basis)
✅

Best Practice: Always use the four-digit range 1000–1999 for customer-defined primary wage types and Z000–Z999 for customer schemas and PCRs. SAP reserves ranges 0000–0999 and all /XXX technical wage types. This naming discipline makes transports, upgrades, and audits significantly cleaner.

🌐 Multi-Country Payroll: Special Considerations

International Payroll Configuration Complexity Map

Complexity matrix for international payroll configuration by country group Configuration Effort Low Complexity Medium High Complexity SAP STANDARD 🇺🇸 USA 🇬🇧 UK 🇩🇪 Germany 🇫🇷 France 🇦🇺 Australia 🇨🇦 Canada Use SAP localisation as delivered PARTIAL LOCALISATION 🇿🇦 South Africa 🇸🇬 Singapore 🇮🇳 India 🇲🇾 Malaysia 🇧🇷 Brazil 🇲🇽 Mexico 🇵🇭 Philippines 🇹🇭 Thailand 🇷🇴 Romania 🇵🇰 Pakistan 🇮🇩 Indonesia 🇳🇬 Nigeria Extend SAP International Schema (I000) with custom PCRs + Wage Types FULL CUSTOM BUILD 🇧🇩 Bangladesh 🇪🇹 Ethiopia 🇨🇲 Cameroon 🇰🇭 Cambodia 🇲🇲 Myanmar Full custom schema + external tax engine may apply

Currency & Exchange Rate Configuration

For multi-currency payrolls, configure exchange rate types in SAP using transaction OB08. The payroll currency is defined at the Payroll Area level, but you can configure cross-currency calculations using the SAP currency conversion tables (T009, T009B). Always use the “M” (average/standard) exchange rate type for payroll unless your local legal requirement specifies a different rate.

SPRO Path: International Payroll — Core Configuration Navigation
── SAP Reference IMG (SPRO)
   └── Payroll
       ├── Basic Settings
       │   ├── Payroll Organisation
       │   │   ├── Define Period Parameters      » Monthly/Bi-weekly cycles
       │   │   ├── Define Date Modifiers
       │   │   └── Create Payroll Areas           » Link to MOLGA
       │   ├── Wage Types
       │   │   ├── Create Wage Type Catalogue     » Copy from model WT
       │   │   ├── Define Wage Type Characteristics
       │   │   └── Define Permissibility per IT    » IT0008, IT0014, IT0015
       │   └── Payroll Schema
       │       ├── Define Schema (PE01)           » Copy X000 → ZX00
       │       └── Define PCR (PE02)              » Custom rules prefix Z
       ├── Payroll [Country MOLGA]
       │   ├── Tax
       │   │   ├── Tax Authorities
       │   │   ├── Tax Brackets / Tariff Tables
       │   │   └── Annual Adjustment Rules
       │   ├── Social Insurance
       │   │   ├── SI Carriers & Contribution Rates
       │   │   └── Income Ceilings (Ceiling Amounts)
       │   └── Statutory Reporting
       └── Reporting for Posting to Accounting
           ├── Define Symbolic Accounts        » Map WT → Symbolic Acct
           └── Assign Symbolic Accts to G/L    » Map to FI Chart of Accounts

🧪 Testing International Payroll — The Right Way

“A payroll that runs successfully in production without a proper test cycle is not an achievement — it is an accident waiting to happen.”

— 13 Years of SAP Payroll Implementations

Testing international payroll requires a structured approach. Here is the three-phase testing methodology I use on every implementation:

🔬
Phase 1

Unit Testing

Test each wage type and PCR individually. Create a single test employee, assign one wage type at a time, run simulation (PC00_M99_CALC_SIMU) and verify via PC_PAYRESULT.

🔗
Phase 2

Integration Testing

Run a full payroll simulation for all employee scenarios: full-time, part-time, leaver, joiner, maternity, secondment. Validate FI posting and bank file output.

✅
Phase 3

Parallel Run

Run new SAP payroll alongside the legacy system for at least 2 pay periods. Every difference must be explained and documented. Only sign off when variances are zero or legally justified.

🔄
Special

Retroactive Testing

Deliberately trigger a retroactive run by backdating a salary change. Verify that retro differences are correctly calculated and posted. Many bugs hide in retro processing.

🚦 Common Errors & How to Fix Them

ErrorRoot CauseFixT-Code
No payroll results generatedControl Record locked / wrong periodCheck and release control record statusPA03
Wage type not found in payrollPermissibility not set for PS/ES groupingSet wage type permissibility for relevant EG/ESGSPRO
Tax calculation incorrectWrong cumulation class or tariff tableCheck V_512W_D (wage type characteristics) and tax tablesPU98
FI posting failsMissing symbolic account mappingMap wage type to symbolic account and to G/L per company codeSPRO
Retro run creates wrong differencesWage type not flagged as retro-relevantSet retro relevance in V_T511 and check schema XRRO functionPE01
Bank file not generatedHouse bank / payment method missingConfigure house bank in FI, assign to payroll areaFI12
Employee missing from payroll runPayroll area not assigned (IT0001)Check IT0001 — correct Payroll Area must be assignedPA30

📋 Go-Live Readiness Checklist

Do not go live until every item below is confirmed. I have seen go-lives delayed by last-minute issues that a proper checklist would have caught in UAT. Use this as your final gate.

✅ SAP International Payroll — Go-Live Checklist

✓
All MOLGA-specific wage types created, tested, and signed off
✓
Payroll schema (copy of standard) deployed and validated in QA
✓
Tax tables and social insurance rates current (updated for current fiscal year)
✓
Payroll Control Record set to correct period and released for execution
✓
FI posting — all symbolic accounts mapped to G/L accounts per company code
✓
Bank file format configured and tested with bank’s test environment
✓
Pay slip form (HRFORMS) configured and signed off by HR
✓
Parallel run completed — 2 pay periods minimum, zero unexplained variances
✓
Retroactive payroll tested and validated
✓
Off-cycle payroll process documented and tested
✓
Authorisation roles assigned and tested (no overprivileged access)
✓
Statutory reporting outputs validated against local authority requirements
✓
Rollback and emergency payroll procedure documented
✓
HR and payroll team trained on end-to-end process
✓
Hypercare support plan agreed for first 3 live pay cycles
🔑

Final Thought: SAP international payroll configuration is not a one-time activity. Tax laws change. Social insurance rates update. New pay elements get introduced. Build a regular configuration review cycle — at minimum annually, ideally quarterly — into your HR operations calendar. The systems you configure today must stay legally compliant for years to come.

Leave a Reply