tractatus/docs/STRIPE_BANK_NAME_MATCHING.md
TheFlow ac2db33732 fix(submissions): restructure Economist package and fix article display
- Create Economist SubmissionTracking package correctly:
  * mainArticle = full blog post content
  * coverLetter = 216-word SIR— letter
  * Links to blog post via blogPostId
- Archive 'Letter to The Economist' from blog posts (it's the cover letter)
- Fix date display on article cards (use published_at)
- Target publication already displaying via blue badge

Database changes:
- Make blogPostId optional in SubmissionTracking model
- Economist package ID: 68fa85ae49d4900e7f2ecd83
- Le Monde package ID: 68fa2abd2e6acd5691932150

Next: Enhanced modal with tabs, validation, export

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 08:47:42 +13:00

6.8 KiB

Stripe Payout Name Matching Issue - TSB NZ

Problem: TSB Bank Requires Exact Name Match

TSB New Zealand requires the payout recipient name to exactly match the bank account owner name.

Your situation:

  • Bank account owner: John Stroh
  • Stripe business name: Tractatus AI Safety Framework or Tractatus Koha
  • TSB requirement: Name must be John Stroh (exact match)

If mismatch: Payout will be REJECTED by TSB and returned to Stripe.


Immediate Action: Check Stripe Payout Settings

Step 1: Check Current Payout Name

  1. Go to: https://dashboard.stripe.com/settings/public
  2. Look for "Business name" or "Public business name"
  3. Note what it says (probably "Tractatus AI Safety Framework")

Step 2: Check Bank Account Details

  1. Go to: https://dashboard.stripe.com/settings/payouts
  2. Under "Bank accounts and debit cards", click on your NZ bank account
  3. Look for "Account holder name" field
  4. This MUST say "John Stroh" to match TSB requirements

Fix: Update Payout Recipient Name

Option 1: Update Bank Account Name in Stripe

  1. Go to: https://dashboard.stripe.com/settings/payouts
  2. Under "Bank accounts", click your TSB account
  3. Click "Edit" or the three dots menu → "Update details"
  4. Change "Account holder name" to: John Stroh
    • Use exact capitalization as on your bank account
    • No middle names unless they're on the account
  5. Click "Save"

Option 2: Re-add Bank Account with Correct Name

If you can't edit the existing account:

  1. Go to: https://dashboard.stripe.com/settings/payouts
  2. Click "Add bank account"
  3. Enter details:
    • Account holder name: John Stroh (EXACT match to bank account)
    • Account number: Your TSB account number
    • Routing number: TSB routing/branch code
  4. Click "Add bank account"
  5. Wait for verification (micro-deposits or instant verification)
  6. Once verified, set as default
  7. Remove old bank account

What Name Should You Use Where?

Bank Account Name (Stripe Payouts Settings)

  • Use: John Stroh
  • Why: MUST match bank account owner name exactly
  • Where: Dashboard → Settings → Payouts → Bank accounts

Business Name (Public Display)

  • Use: Tractatus AI Safety Framework
  • Why: This appears on customer receipts and invoices
  • Where: Dashboard → Settings → Public details
  • Use: John Stroh (if individual) or Tractatus AI Safety Framework (if company)
  • Why: For tax reporting (required in some jurisdictions)
  • Where: Dashboard → Settings → Account details

The key: Bank account holder name ≠ Business name


Verify Name Matching

In Stripe Dashboard:

  1. Settings → Payouts → Bank accounts

    • Account holder name: John Stroh
  2. Settings → Public details

    • Business name: Tractatus AI Safety Framework
  3. Settings → Account details

    • Legal entity: Depends on your structure (Individual = John Stroh)

In Your TSB Online Banking:

  1. Log into TSB online banking
  2. Check account owner name
  3. Write down the EXACT name (including spaces, capitalization)
  4. Use this EXACT name in Stripe payout settings

What Happens If Name Doesn't Match?

Payout Rejected Scenario:

  1. Stripe sends payout to TSB with name "Tractatus Koha"
  2. TSB checks: Account owner = "John Stroh" ≠ "Tractatus Koha"
  3. TSB rejects the payment
  4. Stripe receives rejection notification
  5. Funds return to your Stripe balance
  6. You receive email: "Payout failed"

How to Fix After Rejection:

  1. Update bank account holder name in Stripe (see above)
  2. Request manual payout again
  3. Stripe sends with correct name
  4. TSB accepts payment
  5. Money arrives in bank

TSB New Zealand Specific Requirements

TSB implemented stricter verification in 2024:

Name Matching Rules:

  • Exact match required: "John Stroh" = "John Stroh"
  • No abbreviations: "J. Stroh" ≠ "John Stroh"
  • No business names: "Tractatus Koha" ≠ "John Stroh"
  • No variations: "John D. Stroh" ≠ "John Stroh" (unless middle initial is on account)

What TSB Checks:

  1. Account number matches
  2. Account holder name matches EXACTLY
  3. If mismatch → Reject payment

Check If This Is Already a Problem

Check Stripe Events/Logs:

  1. Go to: https://dashboard.stripe.com/events
  2. Filter by: payout.failed or payout.rejected
  3. Look for any recent failures

Check Email:

  • Search inbox for: "payout failed" OR "stripe payout"
  • Stripe sends email immediately if payout fails
  • Check spam folder too

Check Stripe Balance:

  1. Go to: https://dashboard.stripe.com/balance/overview
  2. If "Available" shows $4.55 (after it moved from Pending)
    • But payout hasn't happened after 2 days
    • This suggests a payout failure

Quick Fix Checklist

Run through this NOW to prevent issues:

  • Log into Stripe Dashboard
  • Go to Settings → Payouts
  • Click on TSB bank account
  • Check "Account holder name" field
  • If it says anything OTHER than "John Stroh":
    • Update it to "John Stroh" (exact match)
    • Save changes
  • Log into TSB online banking
  • Verify account name exactly matches
  • Wait for next payout cycle

If Using Individual vs Company Account

Individual Account (Personal):

  • Account owner: John Stroh
  • Stripe account type: Individual
  • Business name (receipts): Tractatus AI Safety Framework
  • Payout recipient: John Stroh

Company Account (Business):

  • Account owner: Tractatus AI Safety Framework Ltd
  • Stripe account type: Company
  • Business name: Tractatus AI Safety Framework
  • Payout recipient: Tractatus AI Safety Framework Ltd

Most likely for you: Individual account, so use "John Stroh"


Contact TSB Directly

If you're unsure of the exact name format:

TSB Contact:

  • Phone: 0800 872 000
  • Ask: "What is the exact account holder name on my account [number]?"
  • Explain: "I need it for receiving electronic payments via Stripe"
  • They'll tell you the exact format required

Summary

High Priority Action:

  1. Right now: Check Stripe payout settings
  2. Verify: Account holder name = "John Stroh" (exact match to bank)
  3. Update: If wrong, change it immediately
  4. Prevent: Payout rejections from TSB's verification system

This is likely the issue if:

  • Stripe says "payout sent" but money never arrives
  • You get "payout failed" emails
  • Balance stays in "Available" without transferring

Good news: Easy to fix by updating the account holder name in Stripe settings.


Created: 2025-10-18 Bank: TSB New Zealand Requirement: Exact name matching for payment verification Fix: Update Stripe bank account holder name to "John Stroh"