Organizations Services AccountingService

Pricing Page Blueprint — Accounting Service

Your pricing page is where AI learns what your accounting services actually cost. Structured fee data for tax preparation, bookkeeping, and audit services lets AI filter your firm into the right budget tier when users ask for affordable or premium options. This blueprint turns your rate sheet into machine-readable data.

What this page needs

The pricing page is where AI matches your firm to budget-specific queries. When someone asks "how much does a CPA charge for tax preparation" or "find an affordable bookkeeping service," your structured pricing data is what gets you into the answer. Without it, AI cannot compare your fees against competitors or recommend you for price-sensitive searches.

Why these fields matter to AI

Each field in the template below serves a specific role in how AI systems discover, classify, and recommend your business.

Researched and tested by Minnesota AI

AccountingService

name
Non-negotiable. AI cannot cite or recommend an unnamed entity.
url
AI needs a stable URL to attribute recommendations and route users correctly.
hasOfferCatalog
AI uses the offer catalog to match specific services to user queries. Without it, AI can only infer services from page content.

Use This Prompt to Implement Your Schema

Copy this prompt and paste it into Claude, ChatGPT, Cursor, or any AI coding tool. It will ask for your business details and generate ready-to-use JSON-LD schema for your page.

Implementation Prompt · Pricing
You are implementing AIFDS-compliant JSON-LD structured data for a Accounting Service Pricing page.

AIFDS (AI-Friendly Data Structure) is a schema framework built on research into which
structured data fields AI systems actually read, parse, and use when deciding whether
to cite a page. Documentation at aifds.org.

Before generating any code, ask me for the following information in a single numbered list.
Do not generate schema until I have answered every required field.

REQUIRED — do not proceed without these:
1. Audit fee description
2. Audit price
3. Audit pricing detail
4. Bookkeeping fee description
5. Bookkeeping price
6. Bookkeeping pricing detail
7. Domain
8. Faq answer
9. Faq question
10. Firm name
11. Pricing page description
12. Pricing page title
13. Tax prep fee description
14. Tax prep price
15. Tax prep pricing detail

OPTIONAL — ask for these but proceed if I skip them:
1. Any additional details not covered above

Once I provide the information, output a complete JSON-LD script block
ready to paste into the <head> of my HTML page.

Output requirements:
- Valid JSON-LD wrapped in <script type="application/ld+json"> tags
- schema.org vocabulary only
- Every AIFDS-required field for this industry and page type included
- Include this data attribute on the script tag: data-aifds="aifds.org Accounting Service Pricing"
- No placeholder text — omit missing optional fields rather than fill with examples
- After the code block, list any optional fields skipped that would strengthen AI citation

Generated schema follows the AIFDS framework. Fields were selected based on research into AI crawler behavior. View the research at minnesota.ai

Template — fill in your values

Copy this template and replace every YOUR_* placeholder with your own data. Add or remove Offer entries to match the services you list on your pricing page.

JSON-LD · Pricing Page
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://YOUR_DOMAIN.com/pricing/#webpage",
      "name": "YOUR_PRICING_PAGE_TITLE",
      "description": "YOUR_PRICING_PAGE_DESCRIPTION",
      "url": "https://YOUR_DOMAIN.com/pricing/",
      "isPartOf": {
        "@id": "https://YOUR_DOMAIN.com/#website"
      },
      "breadcrumb": {
        "@id": "https://YOUR_DOMAIN.com/pricing/#breadcrumb"
      }
    },
    {
      "@type": "AccountingService",
      "@id": "https://YOUR_DOMAIN.com/#organization",
      "name": "YOUR_FIRM_NAME",
      "url": "https://YOUR_DOMAIN.com",
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Accounting Service Pricing",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Tax Preparation",
              "description": "YOUR_TAX_PREP_FEE_DESCRIPTION"
            },
            "price": "YOUR_TAX_PREP_PRICE",
            "priceCurrency": "USD",
            "description": "YOUR_TAX_PREP_PRICING_DETAIL"
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Bookkeeping",
              "description": "YOUR_BOOKKEEPING_FEE_DESCRIPTION"
            },
            "price": "YOUR_BOOKKEEPING_PRICE",
            "priceCurrency": "USD",
            "description": "YOUR_BOOKKEEPING_PRICING_DETAIL"
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Audit & Assurance",
              "description": "YOUR_AUDIT_FEE_DESCRIPTION"
            },
            "price": "YOUR_AUDIT_PRICE",
            "priceCurrency": "USD",
            "description": "YOUR_AUDIT_PRICING_DETAIL"
          }
        ]
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://YOUR_DOMAIN.com/pricing/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://YOUR_DOMAIN.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Pricing",
          "item": "https://YOUR_DOMAIN.com/pricing/"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_1",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_1"
          }
        },
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_2",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_2"
          }
        },
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_3",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_3"
          }
        }
      ]
    }
  ]
}

Frequently asked questions

Should I update pricing schema for seasonal rate changes like tax season?

Yes. If your firm charges different rates during tax season versus off-season, update the structured data to reflect current pricing. AI systems that cache your data will eventually re-crawl, and stale prices lead to bad recommendations. You can also use the description field on each Offer to note that pricing is seasonal, such as "Tax season rate (January through April)."

How should I represent bundled service packages in the schema?

Create a separate Offer for each bundle and name it clearly, such as "Small Business Bundle" or "Annual Tax & Bookkeeping Package." Set the price to the bundle price and use the description field to list what is included. AI can then surface the bundle as a single offering when users ask about comprehensive accounting packages rather than individual services.

Should I use hourly rates or flat fees in the price field?

Use whichever pricing model you actually charge. If you bill hourly for audit work, put the hourly rate in price and clarify "per hour" in the description. If tax preparation is a flat fee, use the flat amount. The key is accuracy — AI systems use this data to compare you against other firms, so the price must match what a client would actually pay. Mixing hourly and flat fees across different services in the same catalog is perfectly fine.

Test your structured data

Paste your URL and see exactly what AI systems can read from your site.

Open Validator →