crm_settlement_clause.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. from __future__ import annotations
  2. from typing import Optional
  3. ADVANCE_PAYMENT = "advance_payment"
  4. ARRIVE_PAYMENT = "arrive_payment"
  5. CLAUSE_LABELS = {
  6. "volume_settlement": "按量结算",
  7. "monthly_settlement": "月结",
  8. "quarterly_settlement": "季结",
  9. "other_settlement": "其他",
  10. }
  11. ADVANCE_CLAUSE = (
  12. "款到发货。需方付款后安排发货,需方收到货物后,供方开具增值税专用发票。"
  13. )
  14. ARRIVE_CLAUSE = (
  15. "货到付款,需方收到供方货物后,供方开具增值税专用发票,无异议后,以现汇方式月结。"
  16. )
  17. def default_settlement_clause(settlement_method: Optional[str]) -> str:
  18. method = (settlement_method or "").strip() or ARRIVE_PAYMENT
  19. if method == ADVANCE_PAYMENT:
  20. return ADVANCE_CLAUSE
  21. if method in CLAUSE_LABELS:
  22. label = CLAUSE_LABELS[method]
  23. return (
  24. f"请根据双方约定的结算方式:{label}。"
  25. "供方开具增值税专用发票,无异议后,以现汇方式月结。"
  26. )
  27. # arrive_payment 与未知值
  28. return ARRIVE_CLAUSE