00 · The mandate

I own the tax engine inside SAP Financial Accounting.

On Accenture's S/4HANA programme for PTTEP, I own the tax determination and reporting layer of Financial Accounting — principally VAT (Tax on Sales/Purchases) and Extended Withholding Tax, with the account determination and statutory reporting that sit beneath every posting. My job is to turn an agreed tax design into configuration that stands up to a national energy company's compliance bar. I don't write the tax law — I make SAP apply it correctly, on every document, every period.

A tax consultant is only as strong as the hand-offs around them. On this programme I sit between four parties, each a clean interface — select a counterpart to see what flows each way.

My value is the join between the legal requirement (from the Tax SME) and the working system — configured by me, built by ABAP, used through MM / SD / FI.

01 · What I own

The seven pillars I carry.

This is where the hours actually go — the working surface of an FI tax consultant. Open any pillar for the concrete activities and the transactions behind them.

I build the engine that calculates and posts tax: the Thai calculation procedure TAXTH, tax codes and their rates/types in FTXP, the account determination that routes each tax transaction key to a GL account in OB40, and the GL master settings in FS00. For withholding, define Extended WHT types and codes in SPRO and link them to master data.

TAXTHFTXPOB40 FS00SPRO · Ext. WHT

I make sure the right tax lands on the right document. Tax flows in from MM (the tax code on a purchase order / invoice verification), SD (output tax via condition records), and direct FI postings (FB60 vendor invoice, FB70 customer invoice). I verify input vs. output VAT splits and that WHT is withheld at payment.

FB60FB70F-53 MM tax codeSD MWST

I produce what the Revenue Department wants to see. Output VAT − input VAT is filed monthly on PP30 (data from the VAT report, e.g. RFUMSV00); withholding is filed on PND 3 / 53 / 54 with WHT certificates. On S/4HANA this increasingly runs through DRC / Advanced Compliance Reporting — worth knowing by name.

PP30PND 3/53/54 RFUMSV00DRC / ACR

The configuration only works if the master data carries the right tax attributes: tax classification on customer / vendor / material, the Extended WHT type & code assigned on the vendor master, VAT registration numbers, and the tax category on the GL master. I define the rules; data migration loads the volume.

Vendor · WHT infoCustomer · tax class. FS00 · tax category

I prove the tax behaves. I unit-test each tax code, integration-test the end-to-end flows that carry tax (P2P with input VAT + WHT, O2C with output VAT, period-end VAT/WHT runs), write and walk test scripts, and support UAT. Log and triage tax defects with clear reproduction steps — the same UAT discipline I ran across four XeerSoft go-lives.

I get tax right at the switch. I validate open items that carry tax, opening tax balances, and any WHT carry-forward; confirm configuration transports moved correctly; and check the first live postings determine tax as designed. I support the tax slice of the cutover plan — I don't own the whole cutover.

I stabilise the first cycles. I support the first month-end VAT filing (PP30) and WHT filing (PND), reconcile the tax GL accounts, triage incidents on tax postings, and hand over clean knowledge-transfer docs so BAU / AMS can take it.

Petroleum-specific levies on the PTTEP client — Royalty, SRB, PITA — are not standard transactional tax codes. They land as GL provisions / period-end postings. My job is to make sure the right GL accounts and postings exist — not to own the legal computation. (See the companion page for the petroleum-tax detail.)

02 · How the engagement runs

How I add value in each SAP Activate phase.

The tax solution is designed early and built & proven in the middle. I came in at late Realize, so my weight is on understanding the build, hardening it in test, and carrying it through cutover and run — not on the original design. Select a phase.

03 · In / out of scope

The boundary is the scope.

A consultant who can't name what's out of scope ends up owning everyone's problems. Here's what I deliver, what I deliberately hand off, and who is accountable for each — toggle the view.

▸ In scope — I deliver

  • Configure VAT tax codes (FTXP) & account determination (OB40) to the agreed design
  • Maintain Extended WHT types/codes and link to master data
  • Set tax-relevant GL master (FS00) attributes
  • Validate tax determination on MM, SD & FI documents
  • Prepare & execute tax test scripts; support UAT
  • Author functional specs for tax forms (WHT cert, PND, VAT layout)
  • Support tax data cutover & the first live filings

✕ Out of scope — hand off

  • Legal interpretation & rate-setting→ Client Tax SME / tax advisor
  • Re-designing the overall tax solution (fixed in Explore)→ FI/CO Lead + Tax SME
  • ABAP build of enhancements & form output→ Technical team (I write the spec)
  • Petroleum tax (Royalty / SRB / PITA) computation logic→ specialist provisioning; I ensure the GL exists
  • Corporate income-tax provisioning beyond config→ client finance / CO
  • Non-tax FI areas (treasury, AA policy) unless assigned→ respective FI streams

The honest one-liner: I implement an agreed tax design and prove it works — I don't author the tax law or build the ABAP.

04 · Deliverables

What I put my name on.

The artefacts that prove the work is done and auditable. Tick them off as a self-check — the count is held in memory only, nothing is saved.

0 / 9 ready
05 · Where my work sits

Where my work lives inside SAP Financial Accounting.

When people ask which part of SAP FI I work on, this is the one-slide answer. Financial Accounting spans several sub-ledgers; tax is a layer that runs across them, anchored in Tax & Special Products. Select any node to see how it connects back to the tax engine I own.

Module SAP FI — Financial Accounting

↳ my branch — Tax & Special Products — expands to:

06 · T-code playbook

The transactions I live in.

The transactions I reach for, what each one does, and where it sits in the build sequence. Filter by area.

T-codeFunctional command — what it doesWhen
SPROOpen the IMG — the central customizing tree. Every config path below lives here.Config entry
OBBGAssign the country (TH) to the tax calculation procedure TAXTH.1 · foundation
OBYZMaintain the calculation procedure, condition types & account keys behind the tax codes.2 · procedure
FTXPCreate / change tax codes and their % rate (output V-, input A-) under TAXTH.3 · tax codes
OB40Account determination — map each tax transaction key to the GL account it posts to.4 · GL routing
FS00GL account master — set the tax category & "posting without tax allowed" flags.5 · GL master
FB60Post a vendor (AP) invoice with input VAT + WHT — the core P2P tax test.Test / run
FB70Post a customer (AR) invoice with output VAT — the core O2C tax test.Test / run
MIROLogistics invoice verification (MM) — input VAT on a PO-based invoice.P2P / MM
F-53Post an outgoing payment — where Extended WHT is realised & withheld.Payment
FB03Display any document — read the tax & WHT line items to verify a posting.Verify
RFUMSV00Advance return for tax on sales/purchases — the VAT report feeding PP30.Month-end
FBL1N / FBL5NVendor / customer open & cleared line items — reconcile tax & WHT balances.Reconcile
S_P00_07000134Generic withholding-tax reporting — feeds the Thai WHT certificate & PND output.Month-end
SPRO · Ext. WHTDefine WHT types (at invoice / at payment), codes (rates), and assign to the company code.WHT config
Vendor master · WHTAssign the WHT type + code on the vendor so postings withhold automatically.Master data
PND 3/53/54Withholding returns & certificates — PND 3 (individuals), 53 (companies), 54 (overseas).Filing

Setup workflow — VAT (Tax on Sales/Purchases)

step 1OBBGAssign TH → TAXTH
step 2FTXPDefine codes & rates (7%)
step 3OB40Map tax keys → GL accounts
step 4FS00Set tax category on GL
step 5FB60 / FB70Test input & output VAT
step 6RFUMSV00Run VAT report → PP30

Setup workflow — Extended Withholding Tax

step 1SPROActivate Extended WHT
step 2WHT typeAt invoice / at payment
step 3WHT codeRate per income type
step 4Company codeAssign types & activate
step 5Vendor masterAssign WHT type + code
step 6F-53 → PNDWithhold at payment & file

The IMG path behind the config — the tree I actually navigate.

A T-code is a shortcut; the real work is the SPRO customizing path and knowing which project phase each node belongs to. This is that tree for the Thai tax engine. Tap a branch to collapse it.

SPRO SAP Reference IMG Financial Accounting Financial Accounting Global Settings
… Global Settings Tax on Sales/Purchases
Basic Settings › Check Calculation ProcedureOBYZExplore
Basic Settings › Assign Country to Calculation ProcedureOBBGRealize
Basic Settings › Check & Change Settings for Tax ProcessingOBCNRealize
Calculation › Define Tax Codes for Sales & PurchasesFTXPRealize
Calculation › Assign Co. Code to Doc. Date for Tax DeterminationSPRORealize
Posting › Define Tax AccountsOB40Realize
Posting › Assign Tax Codes for Non-Taxable TransactionsOBCLRealize
… Global Settings Withholding Tax Extended Withholding Tax
Basic Settings › Check Withholding Tax CountriesSPROExplore
Calculation › Define W/Tax Type for Invoice PostingSPRORealize
Calculation › Define W/Tax Type for Payment PostingSPRORealize
Calculation › Define Withholding Tax CodesSPRORealize
Company Code › Assign W/Tax Types to Company CodesSPRORealize
Company Code › Activate Extended Withholding TaxSPRORealize
Postings › Define Accounts for W/Tax to be Paid OverOBWWRealize
SAP Easy Access Accounting Financial Accounting General Ledger Reporting
Tax Reports › Advance Return for Tax on Sales/PurchasesRFUMSV00Run
Withholding Tax › Generic Withholding Tax ReportingS_P00_07000134Run
Thai VAT filing (output/input VAT)PP30Run
Thai withholding returns & certificatesPND 3/53/54Run

SPRO menu texts and phase mapping follow standard SAP FI customizing; exact node names vary slightly by release. The SPRO-only rows are maintained inside the IMG (no dedicated transaction shortcut).

07 · Road to Go-Live

I joined at Realize. The lock is Go-Live, January 2027.

I came onto the programme mid-stream — the design settled, the build under way. From here everything bends toward one fixed date: Go-Live in January 2027, with a hypercare tail behind it. Here is the programme month by month, and where I picked it up.

Go-Live · Jan 2027 I enter at Realize (Jul 2026) — roughly six months of runway to cutover.
Jan'26
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Jan'27
Feb
Explore / Blueprint
6 mo
Realize — build & unit test
I join · 3 mo
Integration test (SIT)
SIT
User acceptance (UAT)
UAT
Cutover / final prep
CUT
Go-Live
LIVE
Hypercare
2 mo
Delivered (before me) In progress · I am here Planned Go-Live
ExploreThe tax design and Thai localization were settled before me — I inherit and respect it, not redesign it.
Realize · nowI'm reading the configured tax codes, OB40 determination and Extended WHT, and unit-testing VAT and WHT behaviour.
SIT → UATEnd-to-end P2P / O2C carrying tax, period-end VAT and WHT runs, then business sign-off.
CutoverMigrate open items with tax, opening balances and WHT carry-forward; move transports; dry-run.
Go-Live → HypercareValidate the first live tax postings, then carry the first month-end PP30 and PND filing before handover.

Dates are an illustrative plan — the live schedule is governed by the Accenture / PTTEP programme.

08 · PTTEP tax engine

The taxes I'll meet at PTTEP — and how SAP posts them.

Two layers meet at PTTEP: the ordinary transactional taxes (VAT, WHT) that SAP FI computes on every document, and the petroleum levies (Royalty, SRB, PITA) that post as GL provisions. Open a row for the detail, then run the calculator to see the journal SAP would post.

Base
Sale / service value invoiced to the customer.
SAP mechanism
Output tax code (e.g. O7) in FTXP under TAXTH; routed by OB40 to the Output VAT GL.
Posting / form
Attaches on FB70 (AR); reported on PP30.
Note
Output − Input = VAT payable for the month.
Base
Purchase / service value billed by the vendor.
SAP mechanism
Input tax code (e.g. A7) in FTXP; OB40 → Input VAT GL.
Posting / form
Attaches on FB60 / MIRO; reclaimed on PP30.
Note
Only claimable with a valid full tax invoice (Revenue Code §86/4).
Base
Service fee paid to a company (PND 53) before VAT.
SAP mechanism
Extended WHT type (at payment) + code (3%) on the vendor master.
Posting / form
Withheld on F-53; certificate + PND 53.
Note
I pay the vendor the net and remit the 3% to the Revenue Department.
Base
Professional / consulting fee to a company.
SAP mechanism
Extended WHT code 3% on the vendor; distinct income type for the PND line.
Posting / form
F-53PND 53.
Note
Individual payees may sit on a different rate / PND 3.
Base
Rent paid for property / equipment hire.
SAP mechanism
Extended WHT code 5% on the vendor master.
Posting / form
F-53PND 53.
Note
Rental ≠ service — different rate & income type; watch mis-coding.
Base
Domestic transport service fee.
SAP mechanism
Extended WHT code 1%.
Posting / form
F-53PND 53.
Note
Pure transport only; bundled logistics may be 3% services.
Base
Advertising fee.
SAP mechanism
Extended WHT code 2%.
Posting / form
F-53PND 53.
Note
Rare for upstream E&P but configured for completeness.
Base
Interest paid (e.g. on borrowings) to a company.
SAP mechanism
Extended WHT code 1%.
Posting / form
F-53PND 53.
Note
Cross-border interest may shift to PND 54 + a DTA rate.
Base
Service paid to an overseas supplier but used in Thailand (e.g. offshore technical / rig services).
SAP mechanism
Self-assessment tax code that books output & input VAT together; filed on PP36.
Posting / form
Remit output VAT via PP36; reclaim as input on PP30 next period.
Note
Common & high-value for upstream E&P — a key thing to get right.
Rate & base
5–15% sliding scale on gross revenue by output; under a PSC fixed 10% of gross.
Deductible?
Yes — expensed, lowering the PITA base.
SAP mechanism
A cost / royalty GL provision & postingnot an FTXP tax code. Collected by DMF.
Note
Petroleum levy — period computation, not transactional VAT/WHT.
Rate
Windfall tax 0–75% (ceiling 75% of petroleum profit).
Applies to
Thailand III concessions only — a PSC has no SRB; paid only in profit years.
Deductible?
Yes — deductible (expensed).
SAP mechanism
Specialised periodic computation provisioned in GL — not a standard tax code.
Rate
Concession = 50% of net profit; PSC = 20%. PTTEP's Bongkot/Erawan are PSCs. Separate Act from normal CIT.
Interest
Not deductible. Loss carry-forward 10 accounting periods; no carry-back.
SAP mechanism
An income-tax provision on net profit — period-end posting, may use USD functional currency.
Note
Exports priced at the higher of realised or "tax reference" price.
Applies to
Downstream refined products (diesel, gasoline) at refineries / retail — GC, Thai Oil, IRPC, OR.
For PTTEP?
No. PTTEP is upstream E&P; PITA covers it. Do not conflate excise with PTTEP.
SAP mechanism
Not in this project's scope — listed only to mark the boundary clearly.

Try it — the SAP FI mechanism

A vendor (AP) invoice the way FB60F-53 posts it. Enter a base amount, pick VAT & a WHT type, and watch the tax and the journal compute live.

Standard illustrative rates: VAT 7%; WHT — services / professional 3%, rental 5%, transport 1%, advertising 2%, interest 1% (Thai PND 53 corporate payees). Petroleum levies follow the locked PTTEP figures and post as provisions, not transactional codes.

Beyond the document — the petroleum layer

VAT & WHT post on every invoice. But PTTEP's real tax weight is the petroleum layerRoyalty · SRB · PITA — settled at period-end on profit, not per document. And Excise is a different animal entirely: a downstream, per-litre tax on refined products that never touches PTTEP's profit.

▲ Upstream · PTTEP — tax on PROFIT
  1. Revenue — gas / crude sold
  2. − Operating cost
  3. − Capital allowance (depreciation)
  4. − Royalty (5–15% gross · PSC 10%) deductible
  5. − SRB (Thailand III windfall) deductible
  6. = Taxable petroleum profit
  7. − PITA (PSC 20% / concession 50%)
  8. = Company net profit
▼ Downstream · GC · TOP · IRPC · OR — tax on the PRODUCT
  1. Refining & marketing
  2. Product sale — diesel, gasoline, jet, LPG
  3. + Excise (฿/litre × volume) indirect
  4. + VAT 7%
  5. = Consumer pump price

Excise is charged per litre and built into the price — the consumer bears it. It never touches PTTEP's profit. Downstream firms also pay normal CIT 20%.

Petroleum income tax — run the upstream flow

The real PTTEP computation: Royalty and SRB are deducted first, then PITA is charged on the remaining petroleum profit. Government take = Royalty + SRB + PITA. (M฿ = million baht.)

Government take
0
Royalty + SRB + PITA
Company keeps
0
net profit after tax

Illustrative figures for learning — the real SRB uses a complex windfall formula (income per metre of well + a geological factor), not a flat rate. Royalty & SRB are deductible before PITA; interest is not. PTTEP's Bongkot / Erawan are PSCs (PITA 20%). In SAP these post as period-end GL provisions, never transactional tax codes.

10 · The platform underneath

I build on S/4HANA, not ECC.

PTTEP's programme is S/4HANA — a different Financial Accounting architecture from classic ECC. Knowing what actually changed isn't trivia; it's why the tax I configure is traceable in real time. Four shifts that matter most for an FI tax seat.

ECCS/4HANA

Universal Journal

Separate FI (BKPF/BSEG), CO, ML and AA tables, reconciled at close.

One line-item table — ACDOCA. FI and CO merged, no reconciliation.

For taxevery VAT / WHT posting sits in one auditable line, drillable to its source document.

ECCS/4HANA

Business Partner

Separate vendor (XK01) and customer (XD01) masters.

A single Business Partner — one role-based master (mandatory in S/4).

For taxthe WHT type & code is assigned once on the BP, consistent across every role.

ECCS/4HANA

New Asset Accounting

Parallel ledgers posted through period-end delta runs.

New Asset Accounting — parallel depreciation areas post in real time.

For taxasset & depreciation values align to the ledger with no separate delta step.

ECCS/4HANA

Fiori & embedded analytics

SAP GUI screens and batch-extracted reports.

Fiori apps + embedded analytics (CDS views) live on the Universal Journal.

For taxreal-time VAT / WHT views that drill straight to the document — no extract.

Why it matters for me — the tax I configure lands in one real-time journal, on one Business Partner, surfaced through Fiori — so a VAT or WHT figure is traceable end to end and defensible in an audit. Central Finance / Group Reporting then rolls it up across PTTEP entities.

S/4HANA architecture is factual SAP platform knowledge; I present it as the ground I'm building on for this role, not as a system I have configured in production.

11 · The programme & the impact

A national-scale S/4HANA transformation — and the slice I own inside it.

This isn't a one-consultant build. PTTEP's move to S/4HANA is a large, multi-year transformation that Accenture runs with a blended Thailand–India team across a dozen workstreams. Here's the rough shape of it, where I sit, and the value it's built to unlock.

~200+
people on the programme at peak (estimated)
12+
functional & technical workstreams
2
delivery shores — Thailand onshore + India offshore
1
tax sub-stream inside FI/CO — the part I own

How the team is shaped

Onshore — Thailand client-facing

  • Functional consultants across FI/CO, MM, SD, PM & PS — close to the business
  • Thai-speaking leads for tax localization, statutory reporting & UAT with PTTEP users
  • Business analysts, PMO & organisational change management

Offshore — India delivery centre

  • ABAP development & form/output build (WHT certificate, PND, VAT layouts)
  • Basis / Security / GRC, data migration & integration
  • A testing factory and AMS / hypercare support at scale
My seat — inside the FI/CO workstream I own the tax sub-stream: VAT, Extended WHT and the petroleum-levy GL touchpoints. I work between the Thai client & Tax SME and the India build and test teams — one named owner for tax, inside a programme of hundreds.

The impact it's built to unlock projected

1 sourceA single, real-time book of financial truth across PTTEP entities — replacing reconciled silos and offline spreadsheets.
Faster closeA shorter, more automated period-end — finance reporting in hours, not days of manual consolidation.
Audit-ready taxVAT & WHT determined and posted automatically on every document, with statutory output (PP30 / PND) generated from the system — lower compliance risk, fewer manual errors.
Petroleum-fitUSD functional currency, "tax reference" export pricing and Royalty / SRB / PITA provisioning handled in-system instead of in spreadsheets.
My piece of that number — if the tax engine is right, every invoice posts the correct VAT and WHT, and every month's PP30 and PND filing comes straight out of SAP: on time, traceable and defensible in an audit. That compliance risk is what I'm here to retire.

Team size, shore split and impact figures are an informed estimate for a programme of this type — illustrative only, not official Accenture / PTTEP numbers.

12 · Ready on day one

What I can do now — and how I behave when it breaks.

Two honest views of readiness. First a competency matrix that separates what I’ve delivered on a live ERP from what I hold as concept, ready to configure under guidance. Then a real hypercare incident — diagnose it yourself and see how I’d run the fix.

Tap a competency to see the evidence behind the rating.

Hypercare, played out. Diagnose it yourself.

Go-live is where scope meets reality. Here’s a real-shaped incident — pick where you’d look first, and see the reasoning either way.

P1 · Go-live
08:40, go-live day. Branch 2000’s sales invoices are posting the 7% output VAT to the wrong GL account. The VAT amount is correct; only the target account is off. The first PP30 filing is three weeks out.
Your first move — where do you look?

A representative hypercare incident and resolution path; specifics vary by client. The point is the method: reproduce, isolate the layer, fix in config, retest, and leave a regression case behind.

13 · Where my depth comes from

Where my depth actually comes from.

XeerSoft isn't SAP — but four full-lifecycle ERP go-lives map cleanly onto these SAP concepts. I bring the concept understanding and the real delivery experience, and I stay precise about the line between the two.

My XeerSoft deliveryMaps to SAP concept
POS-to-accounting auto postingAutomatic account determination + tax posting (OB40)
GL mappingTax GL configuration
AR open-item & dunningFI-AR open items + output VAT
Multi-branch consolidationCompany-code structure

The XeerSoft delivery in the left column isn't a claim — it's six capabilities proven with real results →

Say it this way "XeerSoft isn't SAP — but I've delivered the same concepts end-to-end on a real ERP: automatic tax posting, GL mapping, AR open items, multi-branch structure. I bring concept understanding plus full-lifecycle delivery experience — configuration, master data, UAT and go-live. I haven't configured the Thai tax procedure on SAP, and I won't claim I have; my scope here is to understand what's configured, prove it in test, and support cutover and run."
The one rule

I lead with concept understanding + real full-lifecycle ERP delivery — and I never claim I've configured the Thai tax procedure on SAP.