Skip to content

Add FranchiseContract billing model for mirror-sale monthly settlements#120

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-franchise-contract-class
Draft

Add FranchiseContract billing model for mirror-sale monthly settlements#120
Copilot wants to merge 2 commits intomainfrom
copilot/add-franchise-contract-class

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 7, 2026

Introduces the FranchiseContract class to model the franchise economic contract per point of sale: fixed monthly license fee (€9,900), one-time entry fee (€100,000), and 5% variable commission on mirror sales, with EUR settlement and PCT/EP2025/067317 patent royalty inclusion.

Changes

  • api/franchise_contract.py — New module with FranchiseContract:

    • Constructor accepts shop_id and optional tier (default "LUXURY_CARE")
    • calculate_monthly_settlement(total_mirror_sales) returns a structured settlement dict
  • tests/test_franchise_contract.py — 14 unit tests covering init defaults, fee constants, commission math, and edge cases (zero sales, large volume)

Usage

from franchise_contract import FranchiseContract

contract = FranchiseContract("SHOP_001")
settlement = contract.calculate_monthly_settlement(10_000.0)
# {
#   "fixed_fee": 9900.0,
#   "variable_commission": 500.0,
#   "total_to_invoice": 10400.0,
#   "currency": "EUR",
#   "patent_royalty": "Included (PCT/EP2025/067317)"
# }

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tryonyou-pilot Error Error Apr 7, 2026 2:08pm

Request Review

Copilot AI changed the title [WIP] Add FranchiseContract class with settlement calculation Add FranchiseContract billing model for mirror-sale monthly settlements Apr 7, 2026
Copilot AI requested a review from LVT-ENG April 7, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants