mcpField
A
accounts-payable-workflow

accounts-payable-workflow

github.com/dengineproblem其他66 次安装
代码仓库

关于 accounts-payable-workflow

面向应付账款团队的工作流技能,涵盖发票核验、审批、付款安排和指标监控。重点是采购单、收货记录与发票的三方匹配,以及职责分离。

主要功能

  1. 01采购单、收货与发票三方匹配
  2. 02发票校验与重复检测
  3. 03按金额设置审批矩阵
  4. 04依据折扣优化付款时间
  5. 05监控处理效率与异常率

适用场景

  1. 01付款前核对采购、收货和发票
  2. 02筛查重复发票并按规则审批
  3. 03安排付款以利用提前付款折扣
  4. 04追踪应付账款处理效率

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dengineproblem/agents-monorepo --skill accounts-payable-workflow

安装后在 Claude Code 中输入/accounts-payable-workflow确认已加载。

详细介绍

应付账款工作流专家

应付账款工作流专家。

核心原则

三方匹配
  • 采购订单(PO):采购授权
  • 收货记录:交付证明
  • 供应商发票:付款请求
  • 批准前,三份文件必须一致
职责分离
  • 发票录入和审批由不同人员负责
  • 付款授权与付款执行分开
  • 供应商信息变更需要双重审批

自动化工作流

class APWorkflowEngine:
    def __init__(self):
        self.tolerance_price = 0.05  # 5%
        self.tolerance_qty = 0.02    # 2%

    def process_invoice(self, invoice):
        # 1. Захват данных и валидация
        extracted_data = self.ocr_extract(invoice)
        validation = self.validate_invoice_data(extracted_data)

        if not validation.is_valid:
            return self.route_to_exception_queue(invoice)

        # 2. Трехстороннее сопоставление
        matching = self.perform_three_way_match(extracted_data)

        if matching.has_exceptions:
            if matching.within_tolerance(self.tolerance_price, self.tolerance_qty):
                return self.route_for_payment(extracted_data)
            else:
                return self.route_for_approval(extracted_data, matching)

        # 3. Маршрутизация по матрице утверждений
        return self.route_based_on_amount(extracted_data)

审批矩阵

approval_matrix:
  department_managers:
    amount_limit: 10000
    auto_approve_tolerance: 0.02

  finance_director:
    amount_limit: 50000
    requires_backup_documentation: true

  cfo_approval:
    amount_limit: 250000
    requires_board_notification: true

重复项检测

def detect_duplicates(new_invoice):
    # Точные совпадения
    exact = db.query(
        "SELECT * FROM invoices WHERE vendor_id = ? AND invoice_number = ?",
        new_invoice.vendor_id, new_invoice.invoice_number
    )

    # Нечеткое сопоставление
    potential = db.query(
        """SELECT * FROM invoices
           WHERE vendor_id = ?
           AND invoice_date BETWEEN ? AND ?
           AND ABS(amount - ?) < ?""",
        new_invoice.vendor_id,
        new_invoice.invoice_date - timedelta(days=30),
        new_invoice.invoice_date + timedelta(days=30),
        new_invoice.amount,
        new_invoice.amount * 0.05
    )

    return {'exact': exact, 'potential': potential}

付款优化

class PaymentScheduler:
    def optimize_payment_schedule(self, approved_invoices):
        for invoice in approved_invoices:
            # Скидка за досрочную оплату
            discount_deadline = invoice.due_date - timedelta(days=invoice.early_pay_days)
            discount_value = invoice.amount * (invoice.early_pay_rate / 100)

            if discount_deadline >= date.today() and discount_value > 100:
                payment_date = discount_deadline
                payment_amount = invoice.amount - discount_value
            else:
                payment_date = invoice.due_date - timedelta(days=2)
                payment_amount = invoice.amount

            yield {
                'invoice_id': invoice.id,
                'payment_date': payment_date,
                'payment_amount': payment_amount,
                'discount_captured': discount_value
            }

KPI 监控

def generate_ap_metrics(start_date, end_date):
    return {
        'processing_efficiency': {
            'average_processing_time': calc_avg_time(start_date, end_date),
            'straight_through_rate': calc_stp_rate(start_date, end_date),
            'exception_rate': calc_exception_rate(start_date, end_date)
        },
        'cost_savings': {
            'early_payment_discounts': sum_discounts(start_date, end_date),
            'duplicates_prevented': count_duplicates(start_date, end_date)
        },
        'compliance': {
            'three_way_match_rate': calc_3way_compliance(start_date, end_date),
            'sod_violations': count_sod_violations(start_date, end_date)
        }
    }

最佳实践

  • 使用 OCR 和 ML 自动录入数据
  • 实施供应商自助服务门户
  • 对银行信息进行加密
  • 保留完整的审计跟踪记录
  • 定期测试 SOX 合规性

评论

支持 Markdown