Agent Wranglers

PRC-21Required US law

Report unused customer balances under US unclaimed property laws

For each balance, credit or refund owed to a US customer, record the state of their last known address and the date of last activity. Report and pay it to that state when its dormancy period ends, unless the state exempts it.

Region

United States (US). The duty comes from the law there. The rule applies only when the project serves people there, and its Applies when also holds.

How to do it

Every US state has an unclaimed property law. Money owed to a customer, such as an unused stored-value balance or an uncashed refund, can be presumed abandoned after a dormancy period. The business must then report it and hand it to the state. Periods and exemptions differ by state and by type of property. Delaware, for example, presumes a stored-value or gift card abandoned 5 years after the last purchase, top-up or customer contact. Record the last activity per balance, since any customer contact restarts the clock. Ask your accountant which states and property types apply, and keep that list as data. Amounts owed to a state stay a liability and never count as breakage revenue under Recognise unused credits as breakage by a written method.

Examples

TypeScript example

const DORMANCY_YEARS: Record<string, Record<string, number>> = { 'US-DE': { storedValue: 5, refund: 5 } }

export function isPresumedAbandoned(balance, now = new Date()): boolean {
  const years = DORMANCY_YEARS[balance.state]?.[balance.propertyType]
  if (!years) return false
  const due = new Date(balance.lastActivityAt)
  due.setFullYear(due.getFullYear() + years)
  return now > due
}

Python example

from datetime import datetime

DORMANCY_YEARS = {"US-DE": {"stored_value": 5, "refund": 5}}

def is_presumed_abandoned(balance, now: datetime) -> bool:
    years = DORMANCY_YEARS.get(balance.state, {}).get(balance.property_type)
    if years is None:
        return False
    due = balance.last_activity_at.replace(year=balance.last_activity_at.year + years)
    return now > due

How to check

Every customer balance row has a state and a last-activity date. A test with a Delaware customer whose last activity was 5 years and 1 day ago lists the balance in the annual unclaimed property report. A balance with activity 4 years ago is not listed.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/pricing/ledger-and-accounting/unclaimed-property">Agent Wranglers pricing, plans and entitlements playbook</a>. In code you write, add a comment next to it with the same link.