Greenfield Implementation GuidePhase 0: System Standards & US Localization

Phase 0: System Standards & US Localization

Why Phase 0? Before any enterprise structure (Company Code, Chart of Accounts) or industry layer (IS-U) can be configured, the SAP system itself must speak the correct “language” — US date formats (MM/DD/YYYY), USD currency, decimal-point notation, Eastern Time zone, and US tax jurisdiction structure. These are client-level and user-level settings that, if misconfigured, cause cascading formatting errors in every downstream phase. Phase 0 ensures the system foundation is US-ready.


Step 0.1 — Verify & Configure Country Settings

AttributeValue
SPRO PathSPRO → SAP NetWeaver → General Settings → Set Countries
T-CodeOY01

SAP Screen Flow

Screen 1 — Country Settings: Table View

When you execute OY01, SAP displays a table of all defined country keys.

  1. Locate country key US in the table and double-click it.

Screen 2 — Country US: Detail View

Verify / set the following fields:

FieldExpected ValueNotes
Country KeyUS2-character ISO 3166-1 alpha-2 code
Country NameUnited States
LanguageENDefault language for the country
NationalityAmerican
Country CurrencyUSDISO 4217 currency code
Date Format2 (MM/DD/YYYY)⚠️ Critical — US standard date format
Decimal FormatX (1,234,567.89)Comma as thousands separator, period as decimal point
Time Format0 (24-hour) or 1 (12-hour AM/PM)SAP standard; functional either way
Address LayoutUSControls address line sequence for US formatting
Street Addr. Length60Maximum characters for street address
City Length40Maximum characters for city name
Postal Code Length10Allows ZIP+4 format (e.g., 43215-1234)
Tax ProcedureTAXUSJ⚠️ US Tax Jurisdiction Code procedure — required for vertex/tax integration
Bank Account Number Length(verify per standard)
  1. If any field is incorrect, click Change mode (pencil icon), correct the values, and Save (Ctrl+S).

Why This Is Step 0.1

Country settings are client-level global objects. They define the default date format, decimal notation, and currency for every transaction entered under the US country key. If the date format is wrong (e.g., set to 1 = DD.MM.YYYY — European), every date field in the system will misinterpret US dates, causing invalid posting dates, wrong fiscal period assignments, and billing date errors downstream.

Key Configuration Notes

  • ⚠️ The Tax Procedure TAXUSJ is critical for US utilities. It enables the Tax Jurisdiction Code framework, which allows different tax rates at the city, county, and state level. Ohio has varying municipal utility taxes — without this, the billing engine cannot calculate location-specific taxes.
  • SAP delivers country US pre-configured in most systems. This step is a verification step, not a creation step. However, the date format and decimal format must be explicitly confirmed.

Step 0.2 — Define Calculation Procedure for Tax (Tax Jurisdiction)

AttributeValue
SPRO PathSPRO → Financial Accounting → Financial Accounting Global Settings → Tax on Sales/Purchases → Basic Settings → Assign Country to Calculation Procedure
T-CodeOBBG

SAP Screen Flow

Screen 1 — Country → Tax Procedure Assignment Table

When you execute OBBG, SAP displays a two-column table: Country | Procedure.

  1. Locate Country US in the list.
  2. Verify / set the field:
FieldValueNotes
CountryUS
ProcedureTAXUSJUS Tax Jurisdiction Code procedure
  1. Click Save (Ctrl+S).

Note: TAXUSJ is the SAP-delivered calculation procedure for US tax jurisdictions. The alternative TAXUS (flat state tax) is insufficient for utility billing because Ohio has municipal-level utility tax variations.

Why This Step

The Tax Calculation Procedure determines how SAP calculates taxes during billing. TAXUSJ enables a hierarchical jurisdiction model:

  • State Level: Ohio state excise tax
  • County Level: County-specific surcharges
  • City Level: Columbus municipal utility tax

Without this assignment, the billing engine (EA00) will not apply jurisdiction-based taxes, and invoices will be tax-incorrect.


Step 0.3 — Define Tax Jurisdiction Codes

AttributeValue
SPRO PathSPRO → Financial Accounting → Financial Accounting Global Settings → Tax on Sales/Purchases → Basic Settings → Define Tax Jurisdictions
T-CodeOBCP

SAP Screen Flow

Screen 1 — Tax Jurisdiction Codes: Table View

When you execute OBCP, SAP displays existing jurisdiction codes.

  1. Click New Entries.

Screen 2 — New Entries: Details

FieldValueNotes
Tax Jurisdiction CodeOH3900000Structure: State (2) + County (2) + City (5) — see note below
DescriptionColumbus, Franklin County, Ohio
CountryUS
  1. Click Save (Ctrl+S).
  2. Repeat for additional jurisdictions:
Tax Jurisdiction CodeDescription
OH3900000Columbus, Franklin County, Ohio
OH4100000Delaware County, Ohio
OH0800000Bexley, Franklin County, Ohio
OH0000000Ohio — State Level (fallback)

Note: The Tax Jurisdiction Code structure is typically defined by your tax software vendor (e.g., Vertex, Avalara). The format SS CC CCCCC (2-char state + 2-char county + 5-char city) is the SAP standard for TAXUSJ. Coordinate with your tax team for the complete list of jurisdictions within the AEP Ohio service territory.

Why This Step

Each utility Connection Object (configured in Phase 3) is assigned a Tax Jurisdiction Code based on its physical address. When a billing run executes, the billing engine looks up the Connection Object’s jurisdiction code to determine the applicable tax rates. Without jurisdiction codes, billing documents will post with zero tax — a compliance violation.


Step 0.4 — Set Default User Parameters (SU3)

AttributeValue
T-CodeSU3

Scope: This is a per-user setting. Each consultant, developer, and functional user must verify their own SU3 parameters. For batch users (e.g., the billing run background user), set these via SU01 (user administration).

SAP Screen Flow

Screen 1 — Maintain Own User Profile

When you execute SU3, SAP displays your user profile with multiple tabs.

  1. Select the Defaults tab.

Screen 2 — Defaults Tab

Verify / set the following fields:

FieldValueNotes
Logon LanguageENEnglish
Decimal NotationX (1,234,567.89)⚠️ Period as decimal, comma as thousands separator
Date Format2 (MM/DD/YYYY)⚠️ US standard — must match country setting
Time Format0 (24:00:00) or 1 (12:00:00 AM/PM)Preference
Start Menu(optional)e.g., SAP Menu
  1. Select the Parameters tab.

Screen 3 — Parameters Tab (Fixed Values)

Add the following parameter IDs to set defaults for frequently used fields:

Parameter IDValueDescription
BUKAEP1Default Company Code — auto-fills in FI transactions
KOBAEP1Default Controlling Area
WRKAEP1Default Plant
LNDUSDefault Country
SPRENDefault Language
  1. Click Save (Ctrl+S).

Why This Step

User parameters eliminate repetitive data entry and — more importantly — prevent formatting mismatches. If a user’s SU3 decimal notation is set to European format (1.234.567,89) while the system expects US format, every numeric entry will be misinterpreted. The tolerance group fields (Phase 2, Step 2.4) are particularly sensitive — entering 999999.99 with the wrong decimal setting will fail with the template format error.

Key Configuration Notes

  • ⚠️ Decimal Notation X is essential for all US-based users. Without it, SAP interprets 1,000.00 as 1.000,00 (one dollar in European notation), causing massive financial posting errors.
  • Setting BUK = AEP1 means the Company Code field auto-populates across all FI, CO, and IS-U transactions — saving significant time during implementation.
  • For batch/background users (e.g., the user ID that runs EA00 billing), configure these parameters via SU01 → select the user → go to the Defaults tab.

Step 0.5 — Define Time Zones

AttributeValue
SPRO PathSPRO → SAP NetWeaver → General Settings → Maintain Time Zones
T-CodeSTZAC

SAP Screen Flow

Screen 1 — Maintain Time Zones

When you execute STZAC, SAP displays the time zone configuration.

  1. Verify that the following time zone exists and is correctly configured:
FieldValueNotes
Time ZoneEST / US/EASTERNSAP may use system time zone keys like EST or IANA keys like US/EASTERN depending on kernel version
UTC Offset-05:00Eastern Standard Time
DST RuleUS Daylight Saving TimeAutomated spring-forward / fall-back per US federal law

Note: In most S/4HANA systems, time zones are pre-delivered and require only verification. The system-wide default time zone is set in the instance profile parameter zdate/DSTswitch_contstrg and the OS-level TZ variable.

Why This Step (⚠️ Critical for EDM & Interval Data)

Time zones are mission-critical for an AMI-based utility. Smart meters record interval data (Phase 4) with UTC timestamps. When EDM processes this data, it converts UTC to the local time zone (Eastern) to determine which billing period (Peak, Off-Peak, Super Off-Peak) each 15-minute interval falls into. If the time zone or DST rule is wrong:

  • Peak/Off-Peak classification will be off by 1 hour during DST transitions
  • Billing calculations will assign consumption to wrong rate tiers
  • PUCO regulatory filings will show incorrect consumption-by-period data

Key Configuration Notes

  • AEP Ohio operates in the US Eastern Time Zone (UTC-5, UTC-4 during DST).
  • The server’s system time zone should be set to UTC for the database, with conversion to EST/EDT handled at the application layer. This is standard for multi-time-zone deployments.
  • Verify the DST transition rules match current US federal law (second Sunday of March → first Sunday of November).

Step 0.6 — Currency & Exchange Rate Settings

Part A: Verify Currency Definition

AttributeValue
SPRO PathSPRO → SAP NetWeaver → General Settings → Currencies → Check Currency Codes
T-CodeOY03

SAP Screen Flow

Screen 1 — Currencies: Table View

When you execute OY03, SAP displays all defined currency codes.

  1. Locate USD and double-click it.

Screen 2 — Currency USD: Detail View

Verify the following:

FieldExpected ValueNotes
Currency KeyUSDISO 4217 code
Long TextUS Dollar
Short TextUSD
ISO CodeUSDMust match for EDI/interface compliance
Decimals2Two decimal places ($123.45)
Validity From(valid date)Must be before your go-live date
  1. If all values are correct, no action needed. If corrections are required, switch to change mode and Save.

Part B: Define Exchange Rate Types (If Multi-Currency Required)

AttributeValue
SPRO PathSPRO → SAP NetWeaver → General Settings → Currencies → Define Standard Quotation Exchange Rates
T-CodeOB07 / OB08

For a single-currency US utility (USD only): Exchange rate configuration is typically not required. All postings are in USD, the company code currency is USD, and the controlling area currency is USD. This step is noted for completeness but can be skipped for the base AEP Ohio implementation.

Why This Step

Currency settings define the precision and format for all monetary values in the system. If USD were misconfigured with 0 decimal places, every billing calculation would round to whole dollars — a $169.35 residential bill would post as $169.00, causing revenue leakage across millions of customers.


Step 0.7 — Locale & Formatting Conventions Summary

This step consolidates the formatting chain to verify end-to-end consistency:

US Formatting Standard Applied

Format ElementUS StandardSAP SettingWhere Configured
Date DisplayMM/DD/YYYY (e.g., 04/12/2026)Date Format = 2OY01 (Country) + SU3 (User)
Decimal NotationPeriod as decimal, Comma as thousands (1,234.56)Notation = XOY01 (Country) + SU3 (User)
CurrencyUSD — 2 decimalsCurrency Key = USDOY03 (Currency) + Company Code (OX02)
LanguageEnglish (EN)Language = ENOY01 (Country) + SU3 (User)
Time ZoneUS Eastern (EST/EDT)TZ = US/EASTERNSTZAC + server profile
CalendarUS Factory Calendar with federal/state holidaysCalendar ID configured in Phase 1SCAL
Tax StructureJurisdiction-based (TAXUSJ)Procedure = TAXUSJOBBG
Address FormatStreet / City, State ZIP (US standard)Country = USOY01
Units of MeasurekWh, kW, MWh (ISO codes)Verified in Phase 1, Step 1.11CUNI

Cross-Format Validation Check

Before proceeding to Phase 1, verify the formatting chain by performing this quick test:

  1. Execute SE16 → Enter table T005 → Enter country USExecute.
  2. Confirm the XMWST (Tax Jurisdiction active) flag is set.
  3. Execute SU3 → Verify date shows as MM/DD/YYYY in the header.
  4. Execute SE37 (Function Builder) → Test function DATE_CONV_INT_TO_EXT with today’s date → Confirm the output format is 04/12/2026 (not 12.04.2026).

Step 0.8 — Factory Calendar for US Holidays

AttributeValue
T-CodeSCAL

SAP Screen Flow

Screen 1 — Calendar Maintenance: Initial Screen

When you execute SCAL, SAP presents three options:

  • Public Holidays
  • Factory Calendar
  • Holiday Calendar

Part A: Define Public Holidays

  1. Click Public Holidays.

Screen 2 — Public Holidays: Overview

  1. Click Create (or verify if US holidays already exist).
  2. For each US federal/Ohio holiday, create an entry:
Holiday IDDescriptionDate RuleNotes
USNYNew Year’s DayFixed: January 1
USMLMartin Luther King Jr. DayFloating: 3rd Monday of January
USPDPresidents’ DayFloating: 3rd Monday of February
USMDMemorial DayFloating: Last Monday of May
USJNJuneteenthFixed: June 19
USIDIndependence DayFixed: July 4
USLDLabor DayFloating: 1st Monday of September
USCDColumbus DayFloating: 2nd Monday of October
USVDVeterans DayFixed: November 11
USTGThanksgiving DayFloating: 4th Thursday of November
USXMChristmas DayFixed: December 25
  1. Save each holiday.

Part B: Create Holiday Calendar

  1. Go back to SCAL initial screen → Click Holiday Calendar.
  2. Create a new holiday calendar:
FieldValue
Holiday Calendar IDUS
DescriptionUS Federal Holidays
Valid From2025
Valid To2035
  1. Assign all public holidays created in Part A to this calendar.
  2. Save.

Part C: Create Factory Calendar

  1. Go back → Click Factory Calendar.
  2. Create a new factory calendar:
FieldValueNotes
Factory Calendar IDUS2-character key
DescriptionUS Business Days — Utilities
Holiday CalendarUS(created in Part B)
Valid From2025
Valid To2035
WorkdaysMonday – Friday☑ Mon, ☑ Tue, ☑ Wed, ☑ Thu, ☑ Fri
  1. Save (Ctrl+S).

Why This Step

The Factory Calendar defines business days for the system. It directly impacts:

  • Due Date Calculation (Phase 6): Invoice due dates skip weekends and holidays automatically. A bill generated on 12/23 with 21-day terms lands on 01/13 (skipping Christmas, New Year’s, weekends).
  • Dunning Timelines (Phase 2, Step 2.7): PUCO’s 14-day disconnect notice must count only business days in some regulatory interpretations.
  • Payment Processing (Phase 8): ACH batch runs skip federal bank holidays.
  • Billing Run Scheduling (Phase 8): EMMA mass activity jobs reference the factory calendar to avoid scheduling on non-business days.

Phase 0 — Completion Checklist

#ObjectT-CodeID/ValueStatus
0.1Country Settings (US)OY01Country US, Date Format 2, Decimal X, Currency USD
0.2Tax Procedure AssignmentOBBGCountry US → Procedure TAXUSJ
0.3Tax Jurisdiction CodesOBCPOH3900000 (Columbus), OH0000000 (State) + others
0.4User Default ParametersSU3Date 2, Decimal X, BUK=AEP1, LND=US
0.5Time Zone VerificationSTZACUS/EASTERN (UTC-5, DST-aware)
0.6Currency VerificationOY03USD — 2 decimals, ISO USD
0.7Locale ValidationSE16 / SU3End-to-end format chain verified
0.8Factory CalendarSCALCalendar US, US federal holidays, Mon–Fri workdays

🔗 System localization is now complete. The SAP system is configured for US date formats, USD currency, Eastern Time zone, and PUCO-compliant tax jurisdiction codes. Proceed to Phase 1: Enterprise Foundation (FI/CO Prerequisites) to build the financial structure.


Developed by Venakata Subbareddy Annem.

Inspired by Andrej Karpathy's (@karpathy) LLM Knowledge base post on X.

Disclaimer: This independent educational portfolio project is not affiliated with or endorsed by SAP SE. It is not a substitute for official SAP documentation or certified learning materials. All concepts and representations have been independently synthesized.

IS-U Notes 2026