# Match Local Services Ads charges and credits

Canonical page: https://agents.paretoid.com/workflows/match-local-services-ads-charges-and-credits/

Category: Google Ads

Practice relevance: cross-practice. A general operational method. Review the stated tool and jurisdiction limits before use.

Jurisdiction/provider scope: 

Reconcile original charges, later credits, pending reviews, and staff outcomes by lead ID.

Status: Proposed / not tested. The public source describes the problem. Documentation supports only the stated method components; no result from this recipe has been verified.

Verification: Source methods and reported problems have been reviewed. We have not run the adapted workflow. The sample below describes expected behavior on synthetic data, not a customer result.

## The problem

Reconcile original charges, later credits, pending reviews, and staff outcomes by lead ID.

Why it matters: A charge, pending review, and posted credit can appear at different times. Reconciling them by lead ID gives the firm a clearer record of what was billed and credited without assuming every unwanted call qualifies for a refund.

## Sources and evidence

- pain: [Pain evidence: Public discussion](https://www.reddit.com/r/LawFirm/comments/1hwnf0b/running_ads/)
  comments 2025-01-08 and 2025-01-10. Lawyers report being charged for non-prospect calls and uncertainty about automated credits after manual disputes ceased. Bogglez11 writes: “I got billed for a call from a pre-law undergrad student.” Older first-person evidence.

- method: [Method: Local Services Ads automated credits](https://support.google.com/localservices/answer/15100654?hl=en)
  Google documents credit statuses, feedback, and lead/spend reports. Some reasons and regions are excluded. Original charges and later credits may appear separately; unwanted calls do not guarantee refunds.

- method: [Method: Local Services Ads automated credits · supporting guide 2](https://support.google.com/localservices/answer/6226265?hl=en)
  Additional official capability reference. The complete adapted recipe has not been tested.

Source checked: October 15, 2026. Pain accounts are self-reported. Documentation supports components; this adapted recipe and prompt have not been tested.

## Suggested approach

Start when: Monthly statement and lead export

1. align charge, credit, review status and staff-entered outcome by lead ID

2. Keep source references and report unknowns instead of filling gaps.

3. The responsible reviewer checks the report before any separately approved action.

## What you need

- 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.

- Use synthetic inputs first. Keep real data in firm-approved accounts and processing, with appropriate access, confidentiality and retention controls. Aliases alone do not anonymize records. Never paste credentials, API keys or unnecessary client details.

## How to use

Documentation-checked component path; proposed workflow, not tested

- No universal legacy LSA lead-level CSV or migrated-field schema verified. Monthly statements may contain aggregate adjustments only.

Access and setup:

- The live account, entitlement, exact headers, records and field coverage have not been observed.

### 1. Gate the billing review by product and region

Tool: Local Services Ads / Google Ads

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.

Expected output: Product/region scope and original lead/report captures.

Next step: Retain actual lead references where visible; do not invent an exported lead ID.

Check before continuing: Automated-credit eligibility varies; current docs exclude EMEA, healthcare and tax specialists. Unwanted is not automatically refundable.

Execution status: Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.

Step documentation: 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

### 2. Download the real billing documents

Tool: Google Ads billing

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.

Expected output: Original invoice/statement PDFs and visible charge/adjustment totals.

Next step: Staff transcribes checked amounts and posting periods into Billing; keep payment identifiers and tax details local.

Check before continuing: 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.

Execution status: Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.

Step documentation: https://support.google.com/google-ads/answer/1723045?hl=en https://support.google.com/localservices/answer/15100654?hl=en

### 3. Make the checked, minimized handoff

Tool: Excel / source-record reviewer

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.

Expected output: ChargeCredits(event_alias,lead_alias,entry_type,occurred_at,amount,currency,google_state,staff_outcome,evidence_refs); Billing(period,cost,adjustments,tax,payments,source_ref); Scope(eligibility,coverage,migration)

Next step: Format each approved range as a named table. Carry source-row references and coverage into the analysis workbook.

Check before continuing: Every field has an observed source or an explicit missing reason; staff assignments are marked editorial, not native.

Execution status: Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.

Step documentation: https://support.microsoft.com/en-us/excel/merge-queries-power-query https://support.google.com/localservices/answer/15100654?hl=en

### 4. Ask AI to inspect the checked inputs

Tool: Excel Copilot, optional

Location: Analysis workbook > Copilot icon at lower right > Chat only

Open the minimized workbook containing the named tables and Scope. Paste the exact prompt; if unavailable, perform the same rule checks manually.

Prompt:

```text
Use ChargeCredits, Billing and Scope. Join only checked lead references, retain charges and later credits as separate entries, and list pending/In review and unmatched amounts. Reconcile costs, credits, taxes and payments using their actual sign conventions without treating them as interchangeable. If invoice rows lack lead identifiers, show aggregate-only reconciliation and block per-lead matching. Staff outcomes are observations, not proof of credit eligibility. Do not promise refunds, fabricate IDs, submit feedback/disputes or change budgets.
```

Expected output: Read-only reconciliation with pending credits, unmatched amounts and explicit granularity limitations.

Next step: Copy checked results into a new Review sheet, retaining source references and unresolved blockers.

Check before continuing: Check arithmetic and date cutoffs; unknown credit is not zero or denied.

Execution status: Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.

Step documentation: https://support.microsoft.com/en-us/excel/copilot/get-started-with-copilot-in-excel

### 5. Human review and final action

Tool: Responsible firm reviewer

Location: Internal Review worksheet / review document

Finance/marketing reviewer checks the source documents and eligibility. Save the reconciliation; any factual lead feedback is individually reviewed and separately approved.

Expected output: Reviewed charge-credit register and unresolved items.

Next step: If approved later, legacy Leads > selected lead > Rate this lead is the documented feedback route, not a guaranteed manual refund claim.

Check before continuing: No feedback/dispute submitted; credit timing/eligibility is never guaranteed.

Execution status: Public official documentation checked 2026-10-15; no login, export, live query, import, installation, configuration, message or client workflow was executed.

Step documentation: https://support.google.com/localservices/answer/15100654?hl=en https://support.google.com/google-ads/answer/1723045?hl=en

## What you will get

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

## Human review and limits

No claim of a current manual dispute channel where one does not exist, no fabricated evidence, no duplicate credit requests. This differs from G03's performance-collapse diagnosis.

The assistant drafts or reports only. Check source records and review the output before a human performs any separately approved send or change. No automatic legal decision, money movement, account connection or publication is included.

What to measure: In a synthetic pilot, count correctly found exceptions, false alarms, and unresolved inputs. No time or cost saving is assumed.

## Original prepared-input schema

lsa-charges.csv: lead_id, charge_id, charged_at, amount, currency

lsa-credits.csv: credit_id, lead_id, posted_at, amount, status; outcomes.csv: lead_id, staff_outcome; scope.txt: region, period, reporting coverage

Synthetic example input:

```text
L1: charge with a later posted credit
L2: charge with pending review
L3: staff labels call unwanted, no confirmed credit
```

Expected synthetic output:

```text
L1: show both charge and credit
L2: pending, do not count as refunded
L3: observed staff outcome, no eligibility promise
```

Failure check: No claim of a current manual dispute channel where one does not exist, no fabricated evidence, no duplicate credit requests. This differs from G03's performance-collapse diagnosis.

## Starter files

Native blank scaffolds and original synthetic examples may use different schemas. Follow NATIVE-INPUT-MAPPING where supplied. These files do not connect accounts or install automation.

- [Download starter kit](https://agents.paretoid.com/assets/starter-kits/g24-starter-kit.zip) — All inputs, synthetic examples and review notes in one ZIP. No automation is installed.

- [Start here: get the sources and prepare the review](https://agents.paretoid.com/assets/starter-kits/g24/START-HERE.txt) — Documentation-checked acquisition, explicit manual mapping, exact prompts and human review limits

- [Input template: lsa-charges.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-charges.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: lsa-charges.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-charges-example.csv) — Fabricated sample rows for an offline manual trial

- [Input template: lsa-credits.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-credits.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: lsa-credits.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-credits-example.csv) — Fabricated sample rows for an offline manual trial

- [Input template: outcomes.csv](https://agents.paretoid.com/assets/starter-kits/g24/outcomes.csv) — Header-only input template; preserve exact names and order

- [Synthetic input: outcomes.csv](https://agents.paretoid.com/assets/starter-kits/g24/outcomes-example.csv) — Fabricated sample rows for an offline manual trial

- [Output template: lsa-reconciliation.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-reconciliation.csv) — Header-only output template; preserve exact names and order

- [Expected output: lsa-reconciliation.csv](https://agents.paretoid.com/assets/starter-kits/g24/lsa-reconciliation-example.csv) — Hand-authored synthetic expected result; not an executed workflow result

- [Policy/input template: scope.txt](https://agents.paretoid.com/assets/starter-kits/g24/scope.txt) — Required source/policy preparation scaffold; not populated with firm instructions

- [Synthetic policy/input: scope.txt](https://agents.paretoid.com/assets/starter-kits/g24/scope-example.txt) — Fixture-only context; not an approved production policy

- [Synthetic fixture expectations](https://agents.paretoid.com/assets/starter-kits/g24/fixture-expectations.txt) — Acceptance targets and failure checks; no claim of workflow execution

- [Review prompt](https://agents.paretoid.com/assets/starter-kits/g24/starter-prompt.txt) — Copyable offline review prompt; no executable automation

- [Setup and prerequisites](https://agents.paretoid.com/assets/starter-kits/g24/README.txt) — Recipe-specific setup, evidence sources and usage boundaries

- [Native input scaffold: ChargeCredits](https://agents.paretoid.com/assets/starter-kits/g24/native-chargecredits-template.csv) — Empty editorial table for ChargeCredits; populate from verified source evidence after reviewed mapping; not a native export

- [Native input scaffold: Billing](https://agents.paretoid.com/assets/starter-kits/g24/native-billing-template.csv) — Empty editorial table for Billing; populate from verified source evidence after reviewed mapping; not a native export

- [Native input scaffold: Scope](https://agents.paretoid.com/assets/starter-kits/g24/native-scope-template.txt) — Approved text input for Scope; complete from verified evidence and include in the AI-visible packet

- [Native input mapping and scope guide](https://agents.paretoid.com/assets/starter-kits/g24/NATIVE-INPUT-MAPPING.txt) — Old-file-to-native-input compatibility map, acquisition requirements, privacy and blocking gates

## Optional original prepared-input prompt

Destination: Your firm-approved AI assistant · prepared files

This original prompt uses its own prepared-input schema. Do not mix it with native-step tables without the supplied mapping.

```text
Reconcile these anonymized LSA charges and credits by lead ID. Show original charges separately from later credits, pending reviews and unmatched rows. Use staff outcomes only as observations. Draft feedback for review where appropriate under current official rules. Do not promise eligibility, submit disputes or change budgets.

INPUTS
lsa-charges.csv: lead_id, charge_id, charged_at, amount, currency
lsa-credits.csv: credit_id, lead_id, posted_at, amount, status; outcomes.csv: lead_id, staff_outcome; scope.txt: region, period, reporting coverage

OUTPUT
lsa-reconciliation.csv: lead_id, original_charge, posted_credits, pending_amount, unmatched_rows, staff_outcome, evidence_refs, review_question

Use only these synthetic or firm-approved inputs and preserve source row/page IDs. Keep missing or conflicting evidence unresolved. Return a draft for the named reviewer. Do not send messages, connect accounts, change records or permissions, move money, or make legal decisions. Keep source files unchanged. List missing prerequisites before continuing.
```

Proposed / not tested · editorial prompt

Published by Law Firm Agents. Proposed adaptation; not tested. Not legal advice.
