Google AdsProposed workflow

Match Local Services Ads charges and credits

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

Tools for the documented steps

These products support separate steps. Their presence does not imply a tested connection or endorsement.

Practice relevance

Cross-practice idea · A general operational method. Review the stated tool and jurisdiction limits before use.

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 & evidence

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

What’s been verified

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.

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

Source checked: October 15, 2026. Pain accounts are self-reported. Documentation supports components; this adapted recipe and prompt have not been tested. We wrote these prompts. The adapted workflow hasn’t 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.

Limits and review

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.

Who reviews it: 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.

What you need

Your firm-approved AI assistant · prepared files

  • 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

Before you start
  • No universal legacy LSA lead-level CSV or migrated-field schema verified. Monthly statements may contain aggregate adjustments only.
Check 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

    Local Services Ads / Google Ads · 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.
  2. Download the real billing documents

    Google Ads billing · 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.
  3. Make the checked, minimized handoff

    Excel / source-record reviewer · 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.
  4. Ask AI to inspect the checked inputs

    Excel Copilot, optional · 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.

    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.
  5. Human review and final action

    Final human review

    Responsible firm reviewer · 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.

What you’ll get

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

Inputs and a sample test Synthetic example · not a measured result

Input files

  • 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

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

Expected output

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

Test a failure

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.

Try with the sample files

Follow the tool steps above and use the inputs named in each step. Where provided, native-* files are blank scaffolds and NATIVE-INPUT-MAPPING explains their fields. Original examples and the optional full review prompt use a separate prepared-input schema. Keep them separate unless the mapping explicitly connects them. Downloading a kit does not connect accounts or prove the workflow works.

Download inputs and checklist 19 files

Instructions, blank templates and separate synthetic examples; these files do not install an automation. Blank templates still need verified source data.

Optional full review prompt for prepared inputs

Prepared-input review prompt with Your firm-approved AI assistant · prepared files

Proposed / not tested · editorial prompt. This prompt uses the original prepared-input schema shown in the sample test. Step prompts may use different tables. Follow NATIVE-INPUT-MAPPING where supplied; do not mix the original examples with native-step inputs without mapping and checking every field.

Read original method Read pain evidence

Published by Law Firm Agents. These are source-linked editorial adaptations; no end-to-end execution is claimed. Read the plain-text version.