AgentSkillsCN

Process Rebate Calculation

处理返利计算流程

SKILL.md

Skill: Process Rebate Calculation

Domain

consumer_products

Description

Processes manufacturer rebate calculations including tier determination, accrual computation, and payment reconciliation.

Tags

rebates, pricing, trade, CPG, accruals, incentives

Use Cases

  • Rebate tier calculation
  • Accrual management
  • Payment processing
  • Contract compliance

Proprietary Business Rules

Rule 1: Tier Determination

Volume or value-based tier qualification.

Rule 2: Accrual Calculation

Period rebate accrual computation.

Rule 3: True-Up Processing

Year-end reconciliation and adjustment.

Rule 4: Contract Compliance

Rebate agreement terms validation.

Input Parameters

  • calculation_id (string): Calculation identifier
  • customer_id (string): Customer identifier
  • sales_data (list): Sales transactions
  • rebate_agreement (dict): Rebate contract terms
  • prior_accruals (dict): Previous accruals
  • calculation_period (dict): Period dates

Output

  • rebate_amount (float): Calculated rebate
  • tier_achieved (dict): Tier qualification
  • accrual_details (dict): Accrual breakdown
  • true_up_amount (float): Adjustment amount
  • payment_schedule (dict): Payment timing

Implementation

The processing logic is implemented in rebate_processor.py and references data from CSV files:

  • rebate_types.csv - Reference data
  • volume_tiers.csv - Reference data
  • growth_tiers.csv - Reference data
  • calculation_rules.csv - Reference data
  • eligibility_requirements.csv - Reference data
  • accrual_methods.csv - Reference data
  • settlement_options.csv - Reference data
  • audit_requirements.csv - Reference data
  • parameters.csv - Reference data.

Usage Example

python
from rebate_processor import process_rebate

result = process_rebate(
    calculation_id="REB-001",
    customer_id="CUST-001",
    sales_data=[{"date": "2025-12-01", "amount": 500000, "product": "Category A"}],
    rebate_agreement={"type": "volume", "tiers": [{"threshold": 1000000, "rate": 0.03}]},
    prior_accruals={"ytd_sales": 800000, "ytd_accrual": 16000},
    calculation_period={"start": "2025-12-01", "end": "2025-12-31"}
)

print(f"Rebate Amount: ${result['rebate_amount']:,.0f}")

Test Execution

python
from rebate_processor import process_rebate

result = process_rebate(
    calculation_id=input_data.get('calculation_id'),
    customer_id=input_data.get('customer_id'),
    sales_data=input_data.get('sales_data', []),
    rebate_agreement=input_data.get('rebate_agreement', {}),
    prior_accruals=input_data.get('prior_accruals', {}),
    calculation_period=input_data.get('calculation_period', {})
)