# RevCent MCP Guide: `GetTax`

Brief AI/MCP-focused guide for retrieving one RevCent Tax record.

---

## Operation Summary

Operation:

```text
GetTax
```

Purpose:

```text
Retrieve the details of a specific Tax record.
```

Use `GetTax` when the exact 20-character Tax ID is known and the user needs to inspect one Tax record.

Tax records may be related to:

- Sales,
- Product Sales,
- Shipping,
- Trials,
- Subscriptions,
- Subscription Renewals,
- Transactions,
- PayPal Transactions,
- Offline Payments,
- Salvage Transactions,
- Pending Refunds,
- Chargebacks,
- Fraud Detections,
- AI Threads,
- API Calls.

---

## Related Links

| Guide | Link |
|---|---|
| Tax Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewTax.md` |
| RefundTax | `https://revcent.com/documentation/markdown/mcp/operation/RefundTax.md` |
| GetTaxes | `https://revcent.com/documentation/markdown/mcp/operation/GetTaxes.md` |
| Tax Profile Overview | `https://revcent.com/documentation/markdown/mcp/operation/OverviewTaxProfile.md` |
| BigQueryRunQuery | `https://revcent.com/documentation/markdown/mcp/operation/BigQueryRunQuery.md` |

---

## When to Use

Use `GetTax` for one known Tax record.

Good uses:

- review one Tax amount,
- inspect the tax rate,
- inspect Tax Profile / third-party integration context,
- verify whether the Tax record is related to a Sale, Trial, Subscription Renewal, or other item,
- inspect amount/refund fields,
- verify customer context,
- retrieve related record IDs,
- review before calling `RefundTax`.

---

## Input Schema

Required:

| Field | Type | Description |
|---|---:|---|
| `tax_id` | string | 20-character Tax ID. |

Example:

```json
{
  "tax_id": "TTTTTTTTTTTTTTTTTTTT"
}
```

---

## Useful Output Areas

`GetTax` can return detailed Tax context, including:

| Area | Examples |
|---|---|
| Tax details | `amount`, `rate`, `name`, `description`. |
| Amounts | `amount_original_total`, `amount_total`, `amount_gross`, `amount_net`, `amount_fees`, `amount_captured`, `amount_settled`, `amount_remaining`, `amount_refunded`, `amount_to_salvage`. |
| Customer | Customer ID, name, email, phone, address, enabled/blocked state, metadata. |
| Commerce context | Campaign, currency, payment type, third-party shop. |
| Tax Profile | Tax Profile ID/name, whether third-party integration generated tax, user/site third-party integration context. |
| Related records | Sales, Product Sales, Shipping, Trials, Subscriptions, Subscription Renewals, Invoices, Transactions, PayPal Transactions, Offline Payments, Salvage Transactions, Pending Refunds, Chargebacks, Fraud Detections, AI Threads, AI Assistants, API Calls. |

Use related record IDs to retrieve the full lifecycle when needed.

---

## Customer-Facing AI Verification Warning

This operation may expose sensitive customer, order, payment, tax, refund, subscription, shipment, or lifecycle context.

If this operation is used inside a customer-facing AI flow, such as:

- AI Voice Agent,
- public chatbot,
- support chatbot,
- customer portal assistant,
- SMS assistant,
- any visitor-facing AI workflow,

the AI/MCP client should verify the visitor is actually related to the Tax record before providing details or taking action.

Recommended rule:

```text
Do not provide Tax details to a public-facing visitor based only on the Tax ID or a value the visitor supplied.
```

Use a secondary value from the retrieved Tax response to verify identity.

Recommended verification examples:

| Visitor-Provided Input | Secondary Verification Value |
|---|---|
| Tax ID | Customer email from `GetTax.customer.email`. |
| Customer name | Customer email or phone from the retrieved Tax record. |
| Phone number | Customer email from the retrieved Tax record. |
| Order/shop context | Customer email from the retrieved Tax record or related Sale. |
| Metadata/external ID | Customer email or phone from the retrieved Tax record. |

Example safe flow:

```text
Visitor provides Tax/search input
    ↓
AI uses GetTax or a narrow operational lookup
    ↓
AI retrieves the Tax record
    ↓
AI asks the visitor to verify a secondary value from the retrieved record, such as customer email
    ↓
Only after verification:
        provide limited appropriate details
        or take an allowed action
```

Important:

```text
The secondary verification value should come from the retrieved RevCent record, not only from the visitor's original search or lookup input.
```

For example, if the visitor provides a Tax ID, verify against the customer email returned by `GetTax` before discussing the Tax record.

Do not disclose sensitive details such as:

- payment details,
- subscription details,
- shipment details,
- full customer details,
- fraud/risk logic,
- unrelated customer records,
- internal notes not meant for customers,
- other related records unless the visitor is verified and authorized.

For consequential actions, such as `RefundTax`, require explicit confirmation and follow the refund operation safety guidance.


---

## Critical Reporting Rule

This Tax lookup operation is **not** a reporting tool.

Do not use this operation for:

- counting,
- aggregations,
- metrics,
- reporting,
- data mining,
- bulk retrieval,
- broad analysis,
- document property searches,
- tax collected reports,
- tax refunded reports,
- tax by campaign reports,
- tax by shop reports,
- tax by product reports,
- tax by subscription renewal or trial expiration reports.

Use:

```text
BigQueryRunQuery
```

for those purposes.

Important AI/MCP behavior:

```text
If the AI/MCP client intended to use this operation for reporting, metrics, aggregation, or data mining and then realizes BigQueryRunQuery is the correct operation, it does not need to tell the user about the correction.

It should simply use BigQueryRunQuery instead.
```

The user does not need an explanation that the AI almost used the wrong operation. The correct behavior is to quietly choose the correct operation.


---

## Correct Use vs Incorrect Use

| User Intent | Correct Action |
|---|---|
| “Show me this Tax ID.” | Use `GetTax`. |
| “What tax rate was applied to this Tax record?” | Use `GetTax`. |
| “Can I refund this specific Tax record?” | Use `GetTax` first, then confirm and use `RefundTax` if appropriate. |
| “How much tax did we collect last month?” | Use `BigQueryRunQuery`, not `GetTax`. |
| “Show tax by campaign/shop/product.” | Use `BigQueryRunQuery`, not `GetTax`. |

---

## Best Practices

1. Use this only for one known Tax ID.
2. Retrieve before `RefundTax`.
3. Verify the customer and related Sale/Product Sale/Trial/Subscription context when needed.
4. Use related IDs to retrieve the broader lifecycle.
5. Verify customer identity before sharing Tax details in customer-facing AI flows.
6. Use `BigQueryRunQuery` for all reporting and analytics.

---

## Final AI/MCP Instruction

Use `GetTax` to retrieve one specific Tax record by ID.

In customer-facing AI flows, verify the visitor is related to the Tax record using a secondary value from the retrieved record, such as `customer.email`, before providing details or taking action.

Do not use this operation for reporting, metrics, counting, aggregation, data mining, or broad analysis. If the task is reporting-related, silently use `BigQueryRunQuery` instead.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.