G24: native input mapping
Match Local Services Ads charges and credits

Purpose and compatibility
A blank file is an input scaffold, not a native export or completed mapping. Preserve the exact column names/order and input names. Populate only from the documented native acquisition or explicit manual evidence. Stop if a required input, permission, privacy condition or coverage requirement is missing. Do not replace an old prompt until the named inputs and field-level mapping are reviewed. These files do not authorize login, setup, imports, account changes, message sending, publication, test submissions or spending.
Contract status: Requires distinct native-input templates or an explicit reviewed mapping; existing kit is not drop-in compatible
Compatible without mapping: false

Required inputs
ChargeCredits -> native-chargecredits-template.csv
Exact columns: event_alias,lead_alias,entry_type,occurred_at,amount,currency,google_state,staff_outcome,evidence_refs
Populate only from the recipe’s documented export or explicit manual evidence capture. Existing blanks and synthetic fixtures do not supply facts.

Billing -> native-billing-template.csv
Exact columns: period,cost,adjustments,tax,payments,source_ref
Populate only from the recipe’s documented export or explicit manual evidence capture. Existing blanks and synthetic fixtures do not supply facts.

Scope -> native-scope-template.txt
Required content: Full approved scope, source account aliases, date filters, date basis/timezone, as-of capture time, definitions, source-to-alias map provenance, matching rules, inspected/excluded records, permission/privacy limits, missing-data reasons, coverage and responsible reviewer. Include recipe-specific policies, versions and tests. Scope must be inside the AI workbook or pasted packet, not merely a separate unprovided file.
Complete each required field from approved source evidence.

Old files and reviewed mapping
lsa-charges.csv
Original first line: lead_id,charge_id,charged_at,amount,currency

lsa-credits.csv
Original first line: credit_id,lead_id,posted_at,amount,status

lsa-reconciliation.csv
Original first line: lead_id,original_charge,posted_credits,pending_amount,unmatched_rows,staff_outcome,evidence_refs,review_question

outcomes.csv
Original first line: lead_id,staff_outcome

scope.txt
Original first line: G24: scope.txt

lsa-charges.csv -> ChargeCredits: create one checked event_alias per observed charge_id, map the verified lead_id to lead_alias, record entry_type=charge, charged_at -> occurred_at, amount and currency, plus actual Google state and evidence_refs.
lsa-credits.csv -> ChargeCredits: create a distinct checked event_alias per observed credit_id, entry_type=credit, posted_at -> occurred_at, amount and actual google_state. Acquire/verify currency from its source. Do not duplicate the original charge on each credit row; preserve event dates separately and document sign conventions in Scope.
outcomes.csv may contribute verified staff_outcome by exact lead_alias; it must remain separate from google_state. lsa-reconciliation.csv is an old output, not raw event evidence. scope.txt contributes approved scope after current interface/region/eligibility verification.
Billing requires separately observed source billing documents for period, cost, adjustments, tax, payments and source_ref. Lead-level rows alone do not establish invoice-level totals; keep aggregate reconciliation separate when linkage is unavailable.

How to perform the handoff
1. Keep original exports and raw evidence unchanged in restricted firm storage. Check actual source fields, dates, coverage, privacy and access before mapping.
2. Prepare the distinct native inputs above. Record every mapped field, derived interpretation, missing value and observed source reference in Scope. Identically named columns still require source/evidence validation.
3. Create a separate minimized analysis workbook or text packet. Name tables/sections exactly as listed. A CSV file does not itself create a named Excel table.
4. Include the full completed Scope in the same AI-visible workbook or pasted packet. Verify exclusions, denominator, matching rules and unknowns. Do not hide raw client data on another worksheet.
5. Obtain the responsible reviewer’s approval of the completed mapping and evidence coverage before using the native prompt. Keep all blocked items visible. Any later external action is a separately authorized human step.

Acquisition and privacy requirements
Use approved minimized administrative metadata and aliases only. Aliases alone do not guarantee anonymity. Keep untouched exports/screenshots, identifying source maps, full documents and sensitive narratives in restricted firm storage. A hidden worksheet is not a privacy boundary. Do not insert credentials, payment/tax identifiers, raw client documents or unsanitized review text. Unknown is not zero, false, completed or absent.
Existing authorized access to the correct source account and records; no new login, credentials, installation or permission grant is included.
Responsible lawyer/operations reviewer approves scope, definitions and any later action.
AI optional; use only approved minimized data and retain originals separately.
No universal legacy LSA lead-level CSV or migrated-field schema verified. Monthly statements may contain aggregate adjustments only.
The live account, entitlement, exact headers, records and field coverage have not been observed.

Recipe acquisition / manual mapping instructions
Gate the billing review by product and region
Location: LSA current inbox/migration notice; Lead inbox > menu > Reports and Billing
Read legacy/migrated state, country/category and dates. Legacy Reports supplies charged leads/spend/credits; manually capture displayed values and lead charge/credit states. Migrated lead-level field/export paths must be verified in the actual account first.
Verification: Automated-credit eligibility varies; current docs exclude EMEA, healthcare and tax specialists. Unwanted is not automatically refundable.
https://support.google.com/google-ads/answer/17213585?hl=en
https://support.google.com/localservices/answer/6226265?hl=en
https://support.google.com/localservices/answer/7435485?hl=en
https://support.google.com/localservices/answer/15100654?hl=en

Download the real billing documents
Location: Billing > Documents > relevant available invoices/statements > Download selected; postpay/prepay: Tax and statutory documents where available
Download actual available billing PDFs for the relevant months and preserve originals. Match the paying account and currency. If no document exists yet or the billing mode/country differs, record the actual availability instead of inventing a statement.
Verification: Original lead charges may remain on invoices after a later credit. A billing payment is not the same as campaign cost, and an aggregate statement may not have lead-level IDs.
https://support.google.com/google-ads/answer/1723045?hl=en
https://support.google.com/localservices/answer/15100654?hl=en

Make the checked, minimized handoff
Location: Restricted original workbook > separate analysis workbook > Scope worksheet
Make a ChargeCredits table only from observed lead and credit references, using checked aliases. Preserve original charge date and later credit-posted date separately. Reconcile aggregate invoice totals separately when lead-level linkage is unavailable. Keep staff outcome observations distinct from Google charge state. Keep untouched original exports/screenshots and the identifying source map in restricted firm storage. Build a separate minimized analysis file; do not hide raw client data on another tab. Include the complete Scope/coverage note in the AI-visible workbook or prompt. Use aliases and administrative metadata only. Unknown is not zero, false, completed or absent. Build ChargeCredits with exactly one row per observed charge or credit event, an evidence-backed event alias and entry_type=charge or credit. Do not repeat an original charge on every credit row. Retain original event references privately and document sign conventions in Scope; missing record-level evidence blocks per-lead reconciliation.
Verification: Every field has an observed source or an explicit missing reason; staff assignments are marked editorial, not native.
https://support.microsoft.com/en-us/excel/merge-queries-power-query
https://support.google.com/localservices/answer/15100654?hl=en


Do not proceed when
- Missing actual charge/credit references, region eligibility, source billing documents or current migrated UI coverage.

Scope template requirements
Full approved scope, source account aliases, date filters, date basis/timezone, as-of capture time, definitions, source-to-alias map provenance, matching rules, inspected/excluded records, permission/privacy limits, missing-data reasons, coverage and responsible reviewer. Include recipe-specific policies, versions and tests. Scope must be inside the AI workbook or pasted packet, not merely a separate unprovided file.

Old examples and validation limits
Legacy synthetic examples and negative cases belong to their old prompts. They do not automatically test the native route and must not be fed into a new prompt without an explicit reviewed mapping and separately approved test design. These new files contain no synthetic values, source exports, account results or live-test evidence.
Documentation-checked component path; proposed workflow, not tested
Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.
Local validation covers only exact scaffold schemas, placeholder presence, blank CSV rows and required warnings. It does not establish live account coverage, native export validity, successful integration or completed workflow tests.
