Skip to main content

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.

معلومات المصدر

المستودع
microsoft/new-copilot-studio-tech-guide
آخر نشاط في المصدر
٢٤ يونيو ٢٠٢٦ في ٢٣:١٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢٠
التفرعات
١٨

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
slip-pdf-generator
description
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.
# Return / RMA Slip PDF Generator This skill produces the **printable slip** that closes out a transaction at the returns desk. You collect the final, already-confirmed values, then **run the bundled `slip_pdf.py` script** to render the slip to a **PDF** using `reportlab`. Do not hand-draw the PDF, write your own rendering code, or invent amounts — every value comes from earlier steps (Policy Agent ruling, Membership MCP, Warehouse MCP, and the `prorated-refund-calculator` skill). ## When to use Use this skill **last**, after every amount is final: - the eligibility / warranty ruling is decided (Store Policy Agent), - any membership refund is computed (`prorated-refund-calculator`), - any upgrade settlement / net-due is computed (`prorated-refund-calculator`), - the customer has agreed to the outcome. Do **not** use it to *decide* anything — it only renders the agreed result. ## Slip types Set `slip_type` to the right label: - `WARRANTY SWAP` — defective item replaced under warranty. - `RETURN / REFUND` — item returned for a refund. - `EXCHANGE / UPGRADE` — item swapped for a different model with a price difference. - `MEMBERSHIP CANCELLATION` — BlastPass cancelled (often combined with the above). ## Workflow ### 1. Assemble the confirmed values Build a JSON object with the final values. Every field is optional except those that apply to this transaction. Keep amounts formatted to 2 decimals with a `$` prefix. | Field | Meaning | | --- | --- | | `slip_type` | one of the labels above | | `rma_ref` | RMA / reference number | | `date` | `YYYY-MM-DD` | | `store` / `associate` | store name/number and associate/desk | | `customer_name` | customer name | | `member_id` / `member_tier` | BlastPass id and tier | | `items` | list of `[item, sku, disposition, amount]` rows | | `settlement` | list of `[label, amount]` rows (upgrade difference, refund applied as credit, etc.) | | `net_label` / `net_amount` | e.g. `NET DUE FROM CUSTOMER` / `$23.34`, or `REFUND TO CUSTOMER` / `$76.66` | | `notes` | free-text notes | ### 2. Run the bundled script Pass the JSON to `slip_pdf.py`: ```bash python3 slip_pdf.py --slip-json '<json>' --output blastbox_slip.pdf ``` For the upgrade-settlement example (defective base console → MEGA edition, with a BlastPass refund applied as store credit): ```bash python3 slip_pdf.py --output blastbox_slip.pdf --slip-json '{ "slip_type": "EXCHANGE / UPGRADE", "rma_ref": "RMA-OMEGA-1024", "date": "2026-06-07", "store": "BlastBox #214 - Seattle", "associate": "Associate Desk", "customer_name": "Jordan Pixel", "member_id": "MEGA-BLAST-1024", "member_tier": "BlastPass Plus Extra", "items": [ ["BlastBox Omega (defective)", "SKU-OMEGA", "Warranty credit", "$399.99"], ["BlastBox Omega MEGA Edition", "SKU-OMEGA-MEGA", "Upgrade (new)", "$499.99"] ], "settlement": [ ["Upgrade difference ($499.99 - $399.99)", "$100.00"], ["BlastPass Plus Extra refund applied as store credit", "-$76.66"] ], "net_label": "NET DUE FROM CUSTOMER", "net_amount": "$23.34", "notes": "Manufacturing defect confirmed within 30 days - no restocking fee. BlastPass Plus Extra (MEGA-BLAST-1024) cancelled; 8 unused months prorated." }' ``` The script writes the PDF and prints `WROTE blastbox_slip.pdf`. If the JSON is long, you may write it to a file and pass `--slip-file slip.json` instead. ### 3. Report - Confirm the PDF was written and give its filename. - Restate the **net amount** (due or refunded) and the slip type. - Offer to email or reprint the slip if needed. ## Notes - The script uses `reportlab` (the available PDF library). No network calls. - The layout fits a single page for a normal transaction. - Pass plain text in the values; the script escapes `&` for you.
عرض على GitHub