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.
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.
hasOfferCatalog wraps each service in an Offer with price, priceCurrency, and description. This is how AI reads your rate sheet line by line instead of guessing from paragraph text.description field on each Offer to clarify what the price covers and whether it is a flat fee, hourly rate, or starting price. "Flat fee for individual 1040 filing" is far more useful to AI than just a dollar amount.name of each offered Service consistent with the names used in your services page blueprint. AI cross-references these across pages, and mismatched names create confusion.AccountingService node ties all pricing back to your firm. Use the same @id as on other pages so AI treats the pricing data as part of your unified business profile.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
nameurlhasOfferCatalogCopy 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.
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
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.
{
"@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"
}
}
]
}
]
}
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)."
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.
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.