bundle-settlement-calculator
Calculate the exact settlement when a customer returns a multi-item BlastBox Omega bundle (console, accessories, games) and optionally cancels a BlastPass membership in the same visit. Use after the Store Policy Agent (Policy RAG MCP) has confirmed which lines are returnable and the restocking/store-credit rules, and after any membership proration refund has been computed. The skill writes and runs a short Python snippet that applies restocking fees, the store-credit goodwill bonus, tax, and the membership refund, then prints an itemized settlement for the slip.
- License 许可
- MIT
- 最近更新
- 2026-11-14
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- name
- bundle-settlement-calculator
- description
- Calculate the exact settlement when a customer returns a multi-item BlastBox Omega bundle (console, accessories, games) and optionally cancels a BlastPass membership in the same visit. Use after the Store Policy Agent (Policy RAG MCP) has confirmed which lines are returnable and the restocking/store-credit rules, and after any membership proration refund has been computed. The skill writes and runs a short Python snippet that applies restocking fees, the store-credit goodwill bonus, tax, and the membership refund, then prints an itemized settlement for the slip.
02 资源文件 1
- 脚本bundle_settlement.py3.0 KB
03 SKILL.md 正文
MEGA Bundle Return & Settlement Calculator (BlastBox Omega)
This skill computes the exact payout when a customer returns several items at once — typically a "MEGA Bundle" (console + controllers + games) — and may also be cancelling their BlastPass membership in the same transaction. The arithmetic must be exact and consistent, so you generate and run a short Python snippet to do it — never add the lines up in your head.
When to use
Use this skill when an associate is returning more than one item together, or combining a merchandise return with a membership cancellation, e.g.:
- "They want to return the whole MEGA Bundle and cancel BlastPass too."
- "Refund these four items to store credit and tell me the total."
Run the Return Eligibility Evaluator first for any line you are unsure about, and confirm the rules below with the Store Policy Agent (Policy RAG MCP).
The settlement rules (single source of truth)
These mirror the Store Returns & Exchanges Policy and BlastPass terms held by the Store Policy Agent:
- Restocking fee. 15% on opened consoles/hardware (categories
consoleandaccessory) returned like-new. The fee is waived when the item is defective. Sealed/new items have no fee. - Non-returnable lines. Day-one MEGA exclusives, revealed digital codes, and opened physical games refund $0 and must be flagged on the slip.
- Store-credit goodwill bonus. If the payout method is store credit, add a +10% bonus on the eligible merchandise total only. The bonus does NOT apply to fees, to tax, or to the membership proration refund.
- Sales tax is refunded on the net merchandise refunded (membership has no tax).
- Membership proration refund (from the Prorated Refund Calculator / the Membership MCP) is added at the end with no bonus and no tax.
Workflow
1. Gather the inputs
For each line, get: name, unit price, qty, category
(console / accessory / game / digital / exclusive), condition
(new / opened / defective), and whether it is returnable. Then get the
payout method (tender or store_credit), the tax rate, and the
membership proration refund (or 0 if none).
2. Generate and run this Python
Write and execute a snippet like the following, substituting the real values:
import json
def money(v):
cents = int(v * 100 + (0.5 if v >= 0 else -0.5))
return cents / 100.0
HARDWARE = {"console", "accessory"}
# --- inputs (from the associate, Policy RAG MCP, and Membership MCP) ---
items = [
{"name": "BlastBox Omega Console (MEGA Bundle)", "price": 499.99, "qty": 1,
"category": "console", "condition": "opened"},
{"name": "OmegaGrip Pro Controller", "price": 69.99, "qty": 2,
"category": "accessory", "condition": "opened"},
{"name": "Day-One MEGA Exclusive: Nebula Crash", "price": 79.99, "qty": 1,
"category": "exclusive", "condition": "opened", "returnable": False},
]
payout_method = "store_credit" # "tender" or "store_credit"
tax_rate = 0.0875
membership_refund = 76.66 # 0 if not cancelling a membership
lines, merch_net = [], 0.0
for it in items:
base = money(it["price"] * it.get("qty", 1))
if not it.get("returnable", True):
lines.append(f"{it['name']}: NON-RETURNABLE -> $0.00")
continue
fee = 0.0
if it.get("category") in HARDWARE and it.get("condition") == "opened" and not it.get("defective"):
fee = money(base * 0.15)
net = money(base - fee)
merch_net += net
tag = "defective, fee waived" if it.get("defective") else (f"-15% restock ${fee:.2f}" if fee else "no fee")
lines.append(f"{it['name']}: ${base:.2f} ({tag}) -> ${net:.2f}")
merch_net = money(merch_net)
tax_refund = money(merch_net * tax_rate)
bonus = money(merch_net * 0.10) if payout_method == "store_credit" else 0.0
total = money(merch_net + tax_refund + bonus + membership_refund)
print("\n".join(lines))
print(f"Merchandise net: ${merch_net:.2f}")
print(f"Tax refund: ${tax_refund:.2f}")
if bonus:
print(f"Store-credit +10% bonus: ${bonus:.2f}")
if membership_refund:
print(f"Membership proration: ${membership_refund:.2f} (no bonus/tax)")
print(f"SETTLEMENT TOTAL ({payout_method}): ${total:.2f}")
3. Report the result
- State the settlement total and the payout method clearly.
- Show the per-line breakdown and the bonus/tax/membership lines so the associate can verify it.
- Offer to generate the printable Return/RMA slip with this itemization, and — if
a membership was cancelled — to call
cancel_membershipon the Membership MCP.
Worked example
MEGA Bundle (opened console $499.99, two opened controllers $69.99, one non-returnable day-one exclusive, one defective headset $129.99), store credit, 8.75% tax, plus a $76.66 membership proration refund:
- Merchandise net = $733.95 (console $424.99 + controllers $118.98 + headset $129.99; exclusive $0)
- Tax refund = $64.22
- Store-credit +10% bonus = $73.40
- Membership proration = $76.66
- Settlement total = $948.23 (to store credit). To original tender it would be $874.83 (no bonus).
04 同仓库更多 Skills
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.
points-reconciliation
Reconcile a customer's BlastPoints loyalty balance after a complex visit (purchases, returns, promo multipliers, expiry) and convert the net balance to store credit. Use when an associate asks about a member's points, or after a return that should claw back previously earned points. The skill runs a bundled Python script that applies the base earn rate, promo multipliers, tier bonus, clawbacks, and expiry, then prints a points ledger and the redeemable store-credit value.
prorated-refund-calculator
Calculate the exact prorated refund when a customer cancels a BlastPass membership, and the net settlement when a defective unit is traded up to a pricier model. Use after the Store Policy Agent confirms the refund rule and the Membership MCP has returned the membership details. The skill runs a bundled Python script so the arithmetic is exact.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
membership-card-png
Generate a digital BlastPass membership card as a PNG image by running the bundled card_png.py script. Use when a member self-serves a lost/stolen/damaged card replacement, or any time a card needs to be shown on screen (vs. printed). The skill takes the member details returned by the Membership MCP (get_membership) plus the new_card_serial returned by reissue_card and passes them as command-line flags to a bundled Python (matplotlib) script that renders a CR80-sized membership card to a real PNG. It only renders the card from already-retrieved values — it never looks anything up or invents data.
slip-pdf-generator
Generate a printable BlastBox return / RMA / exchange slip as a PDF for the associate to hand to the customer. Use at the end of a return, warranty swap, membership cancellation, or upgrade once all amounts are final. The skill runs a bundled Python script that renders the confirmed slip values into a real PDF file.