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
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP NetWeaver → General Settings → Set Countries |
| T-Code | OY01 |
SAP Screen Flow
Screen 1 — Country Settings: Table View
When you execute OY01, SAP displays a table of all defined country keys.
- Locate country key
USin the table and double-click it.
Screen 2 — Country US: Detail View
Verify / set the following fields:
| Field | Expected Value | Notes |
|---|---|---|
| Country Key | US | 2-character ISO 3166-1 alpha-2 code |
| Country Name | United States | |
| Language | EN | Default language for the country |
| Nationality | American | |
| Country Currency | USD | ISO 4217 currency code |
| Date Format | 2 (MM/DD/YYYY) | ⚠️ Critical — US standard date format |
| Decimal Format | X (1,234,567.89) | Comma as thousands separator, period as decimal point |
| Time Format | 0 (24-hour) or 1 (12-hour AM/PM) | SAP standard; functional either way |
| Address Layout | US | Controls address line sequence for US formatting |
| Street Addr. Length | 60 | Maximum characters for street address |
| City Length | 40 | Maximum characters for city name |
| Postal Code Length | 10 | Allows ZIP+4 format (e.g., 43215-1234) |
| Tax Procedure | TAXUSJ | ⚠️ US Tax Jurisdiction Code procedure — required for vertex/tax integration |
| Bank Account Number Length | (verify per standard) |
- 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
TAXUSJis 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
USpre-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)
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → Financial Accounting → Financial Accounting Global Settings → Tax on Sales/Purchases → Basic Settings → Assign Country to Calculation Procedure |
| T-Code | OBBG |
SAP Screen Flow
Screen 1 — Country → Tax Procedure Assignment Table
When you execute OBBG, SAP displays a two-column table: Country | Procedure.
- Locate Country
USin the list. - Verify / set the field:
| Field | Value | Notes |
|---|---|---|
| Country | US | |
| Procedure | TAXUSJ | US Tax Jurisdiction Code procedure |
- Click Save (
Ctrl+S).
Note:
TAXUSJis the SAP-delivered calculation procedure for US tax jurisdictions. The alternativeTAXUS(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
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → Financial Accounting → Financial Accounting Global Settings → Tax on Sales/Purchases → Basic Settings → Define Tax Jurisdictions |
| T-Code | OBCP |
SAP Screen Flow
Screen 1 — Tax Jurisdiction Codes: Table View
When you execute OBCP, SAP displays existing jurisdiction codes.
- Click New Entries.
Screen 2 — New Entries: Details
| Field | Value | Notes |
|---|---|---|
| Tax Jurisdiction Code | OH3900000 | Structure: State (2) + County (2) + City (5) — see note below |
| Description | Columbus, Franklin County, Ohio | |
| Country | US |
- Click Save (
Ctrl+S). - Repeat for additional jurisdictions:
| Tax Jurisdiction Code | Description |
|---|---|
OH3900000 | Columbus, Franklin County, Ohio |
OH4100000 | Delaware County, Ohio |
OH0800000 | Bexley, Franklin County, Ohio |
OH0000000 | Ohio — 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 forTAXUSJ. 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)
| Attribute | Value |
|---|---|
| T-Code | SU3 |
Scope: This is a per-user setting. Each consultant, developer, and functional user must verify their own
SU3parameters. For batch users (e.g., the billing run background user), set these viaSU01(user administration).
SAP Screen Flow
Screen 1 — Maintain Own User Profile
When you execute SU3, SAP displays your user profile with multiple tabs.
- Select the Defaults tab.
Screen 2 — Defaults Tab
Verify / set the following fields:
| Field | Value | Notes |
|---|---|---|
| Logon Language | EN | English |
| Decimal Notation | X (1,234,567.89) | ⚠️ Period as decimal, comma as thousands separator |
| Date Format | 2 (MM/DD/YYYY) | ⚠️ US standard — must match country setting |
| Time Format | 0 (24:00:00) or 1 (12:00:00 AM/PM) | Preference |
| Start Menu | (optional) | e.g., SAP Menu |
- Select the Parameters tab.
Screen 3 — Parameters Tab (Fixed Values)
Add the following parameter IDs to set defaults for frequently used fields:
| Parameter ID | Value | Description |
|---|---|---|
BUK | AEP1 | Default Company Code — auto-fills in FI transactions |
KOB | AEP1 | Default Controlling Area |
WRK | AEP1 | Default Plant |
LND | US | Default Country |
SPR | EN | Default Language |
- 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
Xis essential for all US-based users. Without it, SAP interprets1,000.00as1.000,00(one dollar in European notation), causing massive financial posting errors. - Setting
BUK = AEP1means 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
EA00billing), configure these parameters viaSU01→ select the user → go to the Defaults tab.
Step 0.5 — Define Time Zones
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP NetWeaver → General Settings → Maintain Time Zones |
| T-Code | STZAC |
SAP Screen Flow
Screen 1 — Maintain Time Zones
When you execute STZAC, SAP displays the time zone configuration.
- Verify that the following time zone exists and is correctly configured:
| Field | Value | Notes |
|---|---|---|
| Time Zone | EST / US/EASTERN | SAP may use system time zone keys like EST or IANA keys like US/EASTERN depending on kernel version |
| UTC Offset | -05:00 | Eastern Standard Time |
| DST Rule | US Daylight Saving Time | Automated 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_contstrgand the OS-levelTZvariable.
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
UTCfor the database, with conversion toEST/EDThandled 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
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP NetWeaver → General Settings → Currencies → Check Currency Codes |
| T-Code | OY03 |
SAP Screen Flow
Screen 1 — Currencies: Table View
When you execute OY03, SAP displays all defined currency codes.
- Locate
USDand double-click it.
Screen 2 — Currency USD: Detail View
Verify the following:
| Field | Expected Value | Notes |
|---|---|---|
| Currency Key | USD | ISO 4217 code |
| Long Text | US Dollar | |
| Short Text | USD | |
| ISO Code | USD | Must match for EDI/interface compliance |
| Decimals | 2 | Two decimal places ($123.45) |
| Validity From | (valid date) | Must be before your go-live date |
- 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)
| Attribute | Value |
|---|---|
| SPRO Path | SPRO → SAP NetWeaver → General Settings → Currencies → Define Standard Quotation Exchange Rates |
| T-Code | OB07 / 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 Element | US Standard | SAP Setting | Where Configured |
|---|---|---|---|
| Date Display | MM/DD/YYYY (e.g., 04/12/2026) | Date Format = 2 | OY01 (Country) + SU3 (User) |
| Decimal Notation | Period as decimal, Comma as thousands (1,234.56) | Notation = X | OY01 (Country) + SU3 (User) |
| Currency | USD — 2 decimals | Currency Key = USD | OY03 (Currency) + Company Code (OX02) |
| Language | English (EN) | Language = EN | OY01 (Country) + SU3 (User) |
| Time Zone | US Eastern (EST/EDT) | TZ = US/EASTERN | STZAC + server profile |
| Calendar | US Factory Calendar with federal/state holidays | Calendar ID configured in Phase 1 | SCAL |
| Tax Structure | Jurisdiction-based (TAXUSJ) | Procedure = TAXUSJ | OBBG |
| Address Format | Street / City, State ZIP (US standard) | Country = US | OY01 |
| Units of Measure | kWh, kW, MWh (ISO codes) | Verified in Phase 1, Step 1.11 | CUNI |
Cross-Format Validation Check
Before proceeding to Phase 1, verify the formatting chain by performing this quick test:
- Execute
SE16→ Enter tableT005→ Enter countryUS→ Execute. - Confirm the
XMWST(Tax Jurisdiction active) flag is set. - Execute
SU3→ Verify date shows asMM/DD/YYYYin the header. - Execute
SE37(Function Builder) → Test functionDATE_CONV_INT_TO_EXTwith today’s date → Confirm the output format is04/12/2026(not12.04.2026).
Step 0.8 — Factory Calendar for US Holidays
| Attribute | Value |
|---|---|
| T-Code | SCAL |
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
- Click Public Holidays.
Screen 2 — Public Holidays: Overview
- Click Create (or verify if US holidays already exist).
- For each US federal/Ohio holiday, create an entry:
| Holiday ID | Description | Date Rule | Notes |
|---|---|---|---|
USNY | New Year’s Day | Fixed: January 1 | |
USML | Martin Luther King Jr. Day | Floating: 3rd Monday of January | |
USPD | Presidents’ Day | Floating: 3rd Monday of February | |
USMD | Memorial Day | Floating: Last Monday of May | |
USJN | Juneteenth | Fixed: June 19 | |
USID | Independence Day | Fixed: July 4 | |
USLD | Labor Day | Floating: 1st Monday of September | |
USCD | Columbus Day | Floating: 2nd Monday of October | |
USVD | Veterans Day | Fixed: November 11 | |
USTG | Thanksgiving Day | Floating: 4th Thursday of November | |
USXM | Christmas Day | Fixed: December 25 |
- Save each holiday.
Part B: Create Holiday Calendar
- Go back to
SCALinitial screen → Click Holiday Calendar. - Create a new holiday calendar:
| Field | Value |
|---|---|
| Holiday Calendar ID | US |
| Description | US Federal Holidays |
| Valid From | 2025 |
| Valid To | 2035 |
- Assign all public holidays created in Part A to this calendar.
- Save.
Part C: Create Factory Calendar
- Go back → Click Factory Calendar.
- Create a new factory calendar:
| Field | Value | Notes |
|---|---|---|
| Factory Calendar ID | US | 2-character key |
| Description | US Business Days — Utilities | |
| Holiday Calendar | US | (created in Part B) |
| Valid From | 2025 | |
| Valid To | 2035 | |
| Workdays | Monday – Friday | ☑ Mon, ☑ Tue, ☑ Wed, ☑ Thu, ☑ Fri |
- 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):
EMMAmass activity jobs reference the factory calendar to avoid scheduling on non-business days.
Phase 0 — Completion Checklist
| # | Object | T-Code | ID/Value | Status |
|---|---|---|---|---|
| 0.1 | Country Settings (US) | OY01 | Country US, Date Format 2, Decimal X, Currency USD | ☐ |
| 0.2 | Tax Procedure Assignment | OBBG | Country US → Procedure TAXUSJ | ☐ |
| 0.3 | Tax Jurisdiction Codes | OBCP | OH3900000 (Columbus), OH0000000 (State) + others | ☐ |
| 0.4 | User Default Parameters | SU3 | Date 2, Decimal X, BUK=AEP1, LND=US | ☐ |
| 0.5 | Time Zone Verification | STZAC | US/EASTERN (UTC-5, DST-aware) | ☐ |
| 0.6 | Currency Verification | OY03 | USD — 2 decimals, ISO USD | ☐ |
| 0.7 | Locale Validation | SE16 / SU3 | End-to-end format chain verified | ☐ |
| 0.8 | Factory Calendar | SCAL | Calendar 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.