---
title: Card billing dispute packets
description: Prepare a first written billing-error notice or denied-dispute appeal packet online, then review and mail it with PostalForm.
seotitle: Card billing dispute packets
seo-description: Prepare a first written billing-error notice or denied-dispute appeal packet online, then review and mail it with PostalForm.
group: resources
indexable: true
llms: true
schema: webpage
tags:
  - appeals
  - consumer
  - credit cards
  - billing disputes
path: /forms/card-billing-dispute
---
# Card billing dispute packets

Prepare a first written billing-error notice or denied-dispute appeal packet online, then review and mail it with PostalForm.

## How it works
1. **Choose whether you are sending a first written billing-error notice or an appeal after denial.** - 
2. **Enter the charge facts, explain what happened, and build a simple timeline.** - 
3. **Confirm the billing-dispute address from the statement or agreement and upload your exhibits.** - 
4. **Preview the generated packet, confirm mailing details, and continue to checkout.** -


## Form summary
Card Billing Dispute Packets helps you turn a credit card billing-error notice or appeal into a clean, mailed packet with a dispute letter, timeline, exhibit index, and attachments in print order.

## What you need
- Issuer name and card last 4
- Statement date, charge date, amount, and merchant name
- Billing-dispute address from the statement, agreement, or issuer instructions
- Statement page showing the charge
- At least one supporting exhibit
- Statement page showing the charge (required) — Upload the statement page that shows when the disputed charge first appeared.
- Prior denial letter or email (if you have it) (optional) — Upload the issuer denial letter or denial email if this is an appeal.
- Merchant receipt or order record (optional) — Receipt, invoice, order confirmation, or service record connected to the charge.
- Cancellation, return, or refund proof (optional) — Cancellation confirmation, return authorization, return receipt, or refund confirmation.
- Payment or credit proof (optional) — Proof that a payment, credit, or correction should have posted but did not.
- Supporting correspondence (optional) — Emails, chat transcripts, or messages with the merchant or issuer.
- Screenshot of the billing-dispute address area (optional) (optional) — Upload the part of the statement or agreement that shows the billing-dispute, billing inquiries, or errors address.

## Data collected
- Consumer contact information and mailing address
- Card issuer, account last 4, merchant, amount, and statement date
- Dispute reason, prior process status, and denial details when applicable
- Timeline events, billing-dispute recipient address, and supporting exhibits

## Where it gets mailed
You will enter the recipient address during checkout.

## Packet order
- Cover sheet
- Main dispute or appeal letter
- Timeline page
- Exhibit index
- Uploaded exhibits in normalized order

## Common mistakes
- Using the payment address instead of the billing-dispute or billing-inquiries address.
- Sending a vague note without a timeline or supporting documents.
- Skipping the statement page that shows when the charge first appeared.
- Appealing a denial without including the denial date or denial explanation.

## Agent summary
Collect the card charge facts, reason, timeline, billing-dispute address, and supporting exhibits needed to prepare a mailed card billing dispute packet or appeal packet.

## For assistants
Use the Forms Draft API to prefill this form and generate a preview PDF.
- Endpoint: `POST /api/forms/card-billing-dispute/drafts`
- Payload: `{ fields: { ... }, attachments: [{ id, label, base64 }] }`
- Required fields: lane_initial_notice, lane_appeal, lane_unsure, uncertain_contacted_issuer_or_filed_online, uncertain_sent_written_notice, uncertain_denial_received, sender_name, sender_email, issuer_name, account_last4, sender_address_line1, sender_city_state_zip, statement_date, charge_date, charge_amount, merchant_name, contacted_issuer, contacted_merchant, reason_unauthorized, reason_duplicate, reason_wrong_amount, reason_return_no_credit, reason_payment_not_posted, reason_canceled_but_charged, reason_not_received, reason_other, issue_summary, requested_resolution, denial_received, denial_date, denial_reason_summary, timeline_event_1, recipient_name, recipient_address_line1, recipient_city_state_zip
- Attachment IDs: statement_page, denial_letter, merchant_or_order_record, cancellation_or_refund_proof, payment_or_credit_proof, correspondence, billing_dispute_address_screenshot
- Notes: This workflow is for consumer credit card billing disputes and appeals. It is not a debit-card workflow or a general legal-advice product.

## LLM field schema
```json
[
  {
    "id": "lane_initial_notice",
    "label": "I need to send my first written dispute",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "lane_appeal",
    "label": "My dispute was denied",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "lane_unsure",
    "label": "I’m not sure which one I need",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "uncertain_contacted_issuer_or_filed_online",
    "label": "Have you already called the issuer or filed online?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": {
      "fieldId": "lane_unsure",
      "operator": "truthy"
    },
    "compound_subfields": null
  },
  {
    "id": "uncertain_sent_written_notice",
    "label": "Have you already sent a written notice by mail?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": {
      "fieldId": "lane_unsure",
      "operator": "truthy"
    },
    "compound_subfields": null
  },
  {
    "id": "uncertain_denial_received",
    "label": "Did the issuer already deny the dispute?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "entry",
    "choice_group": null,
    "choice_label": null,
    "visibility": {
      "fieldId": "lane_unsure",
      "operator": "truthy"
    },
    "compound_subfields": null
  },
  {
    "id": "sender_name",
    "label": "Full name",
    "type": "text",
    "required": true,
    "meta_class": "name",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "sender_email",
    "label": "Email",
    "type": "text",
    "required": true,
    "meta_class": "email",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "sender_phone",
    "label": "Phone (optional)",
    "type": "text",
    "required": false,
    "meta_class": "phone",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "issuer_name",
    "label": "Card issuer",
    "type": "text",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "card_product_name",
    "label": "Card product or nickname (optional)",
    "type": "text",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "account_last4",
    "label": "Last 4 digits of your card",
    "type": "text",
    "required": true,
    "meta_class": "ssn_last4",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "sender_address_line1",
    "label": "Your mailing address",
    "type": "text",
    "required": true,
    "meta_class": "address",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "sender_address_line2",
    "label": "Your mailing address line 2 (optional)",
    "type": "text",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "sender_city_state_zip",
    "label": "Your city, state, and ZIP",
    "type": "compound",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "city",
        "label": "City",
        "metaClass": "city",
        "required": true,
        "uiWidth": "half"
      },
      {
        "id": "state",
        "label": "State",
        "metaClass": "state",
        "required": true,
        "uiWidth": "quarter"
      },
      {
        "id": "zip",
        "label": "ZIP",
        "metaClass": "zip",
        "required": true,
        "uiWidth": "quarter"
      }
    ]
  },
  {
    "id": "statement_date",
    "label": "Statement date showing the charge",
    "type": "date",
    "required": true,
    "meta_class": "date",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "charge_date",
    "label": "Charge date",
    "type": "date",
    "required": true,
    "meta_class": "date",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "charge_amount",
    "label": "Charge amount",
    "type": "text",
    "required": true,
    "meta_class": "currency",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "merchant_name",
    "label": "Merchant name",
    "type": "text",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "contacted_issuer",
    "label": "Have you already contacted the issuer?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "contacted_merchant",
    "label": "Have you already contacted the merchant?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "consumer",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_unauthorized",
    "label": "I did not authorize this charge",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_duplicate",
    "label": "I was charged twice",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_wrong_amount",
    "label": "The amount or date is wrong",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_return_no_credit",
    "label": "I returned it but never got the credit",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_payment_not_posted",
    "label": "I paid but the payment or credit never posted",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_canceled_but_charged",
    "label": "I canceled, but they charged me anyway",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_not_received",
    "label": "I never received what I paid for",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "reason_other",
    "label": "Other",
    "type": "checkbox",
    "required": true,
    "meta_class": "radio",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "issue_summary",
    "label": "What happened?",
    "type": "textarea",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "requested_resolution",
    "label": "What result are you asking for?",
    "type": "textarea",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "denial_received",
    "label": "Did the issuer already deny the dispute?",
    "type": "checkbox",
    "required": true,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "denial_date",
    "label": "Denial date",
    "type": "date",
    "required": true,
    "meta_class": "date",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": {
      "fieldId": "denial_received",
      "operator": "truthy"
    },
    "compound_subfields": null
  },
  {
    "id": "denial_reason_summary",
    "label": "What reason did the issuer give?",
    "type": "textarea",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": {
      "fieldId": "denial_received",
      "operator": "truthy"
    },
    "compound_subfields": null
  },
  {
    "id": "outside_window_acknowledged",
    "label": "I understand this may be outside the strongest 60-day written-notice window, but I still want to prepare a follow-up packet.",
    "type": "checkbox",
    "required": false,
    "meta_class": "yes_no",
    "ui_width": null,
    "group_id": "reason_process",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "timeline_event_1",
    "label": "Timeline event 1",
    "type": "compound",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "timeline",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "event_date",
        "label": "Date",
        "metaClass": "date",
        "required": true,
        "uiWidth": "third"
      },
      {
        "id": "label",
        "label": "Event",
        "required": true,
        "uiWidth": "third"
      },
      {
        "id": "description",
        "label": "Optional details",
        "uiWidth": "third"
      }
    ]
  },
  {
    "id": "timeline_event_2",
    "label": "Timeline event 2 (optional)",
    "type": "compound",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "timeline",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "event_date",
        "label": "Date",
        "metaClass": "date",
        "uiWidth": "third"
      },
      {
        "id": "label",
        "label": "Event",
        "uiWidth": "third"
      },
      {
        "id": "description",
        "label": "Optional details",
        "uiWidth": "third"
      }
    ]
  },
  {
    "id": "timeline_event_3",
    "label": "Timeline event 3 (optional)",
    "type": "compound",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "timeline",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "event_date",
        "label": "Date",
        "metaClass": "date",
        "uiWidth": "third"
      },
      {
        "id": "label",
        "label": "Event",
        "uiWidth": "third"
      },
      {
        "id": "description",
        "label": "Optional details",
        "uiWidth": "third"
      }
    ]
  },
  {
    "id": "timeline_event_4",
    "label": "Timeline event 4 (optional)",
    "type": "compound",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "timeline",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "event_date",
        "label": "Date",
        "metaClass": "date",
        "uiWidth": "third"
      },
      {
        "id": "label",
        "label": "Event",
        "uiWidth": "third"
      },
      {
        "id": "description",
        "label": "Optional details",
        "uiWidth": "third"
      }
    ]
  },
  {
    "id": "recipient_name",
    "label": "Billing-dispute / billing-inquiries recipient",
    "type": "text",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "recipient",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "recipient_address_line1",
    "label": "Billing-dispute address line 1",
    "type": "text",
    "required": true,
    "meta_class": "address",
    "ui_width": null,
    "group_id": "recipient",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "recipient_address_line2",
    "label": "Billing-dispute address line 2 (optional)",
    "type": "text",
    "required": false,
    "meta_class": null,
    "ui_width": null,
    "group_id": "recipient",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": null
  },
  {
    "id": "recipient_city_state_zip",
    "label": "Billing-dispute city, state, and ZIP",
    "type": "compound",
    "required": true,
    "meta_class": null,
    "ui_width": null,
    "group_id": "recipient",
    "choice_group": null,
    "choice_label": null,
    "visibility": null,
    "compound_subfields": [
      {
        "id": "city",
        "label": "City",
        "metaClass": "city",
        "required": true,
        "uiWidth": "half"
      },
      {
        "id": "state",
        "label": "State",
        "metaClass": "state",
        "required": true,
        "uiWidth": "quarter"
      },
      {
        "id": "zip",
        "label": "ZIP",
        "metaClass": "zip",
        "required": true,
        "uiWidth": "quarter"
      }
    ]
  }
]
```

## Sources
- [CFPB: How to fix mistakes in your credit card bill](https://www.consumerfinance.gov/consumer-tools/credit-cards/how-to-fix-mistakes-in-your-credit-card-bill/)
- [FTC: Using credit cards and disputing charges](https://consumer.ftc.gov/articles/using-credit-cards-and-disputing-charges)
- [12 CFR 1026.13 — Billing error resolution](https://www.ecfr.gov/current/title-12/chapter-X/part-1026/subpart-B/section-1026.13)

## Last verified
2026-04-15


## FAQs
- **Can I use this for the first written notice and for an appeal after denial?** Yes. The workflow supports both the initial written billing-error notice lane and an appeal lane when the issuer already denied or partially denied the dispute.
- **Do I need the billing-dispute address from my statement?** Yes. You should use the issuer address listed for billing disputes, billing inquiries, or errors, which is often different from the payment address.
- **Will I see the final packet before mailing?** Yes. PostalForm generates the packet PDF first so you can review the cover sheet, letter, timeline, exhibit index, and attachments before moving to checkout.


## Related
- [CMS-20027 - Redetermination Request Form](/forms/cms-20027)
- [CMS-20031 - Transfer of Appeal Rights](/forms/cms-20031)
- [CMS-20033 - Medicare Reconsideration Request](/forms/cms-20033)
- [Debt Validation Packets](/forms/debt-validation-packets)
- [How to appeal a denied credit card dispute](/appeal-denied-credit-card-dispute)
- [Credit card extended warranty claims by mail](/credit-card-extended-warranty-claim-by-mail)
- [Appeal letter mailing guides](/appeals)
- [Consumer complaint and credit-report guides](/consumer)
