
1) 【一句话结论】
通过“流程控制测试+供应商资质抽样验证+风险访谈”组合程序验证采购合规性,结合流程图分析、数据异常挖掘、供应商/采购人员访谈识别潜在风险点。
2) 【原理/概念讲解】
老师来解释核心逻辑:审计采购流程合规性,本质是“检查流程是否按制度执行+验证结果是否合规”。
3) 【对比与适用场景】
| 审计程序类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 控制测试 | 测试内部控制运行有效性 | 侧重流程执行 | 检查“资质审核”环节是否按制度执行 | 样本量需足够,保证代表性 |
| 实质性程序 | 直接验证交易/余额合规性 | 侧重结果验证 | 抽查未通过资质审核的合同,验证供应商资质 | 结合数据比对,避免主观判断 |
| 风险识别方法 | 识别流程潜在风险 | 侧重流程漏洞 | 流程图分析、异常数据挖掘、供应商访谈 | 需结合业务理解,不能仅看数据 |
4) 【示例】
用伪代码表示抽样检查未通过资质审核的合同:
# 伪代码:验证采购流程合规性
def verify_compliance(contracts, supplier_db):
# 1. 控制测试:检查流程执行
# 假设合同字段有“is_validated”(是否通过资质审核)
unvalidated_contracts = [c for c in contracts if c['is_validated'] == False]
# 2. 实质性程序:验证供应商资质
for contract in unvalidated_contracts:
supplier_id = contract['supplier_id']
supplier = supplier_db.get(supplier_id)
if supplier is None or not supplier['qualification']:
# 发现风险:供应商未通过资质审核
record_risk(f"合同{contract['id']}的供应商{supplier_id}未通过资质审核")
else:
# 记录合规情况
record_compliance(f"合同{contract['id']}的供应商{supplier_id}已通过资质审核")
# 3. 风险识别:数据比对
# 检查“资质状态=无效”但已签约的供应商
invalid_suppliers = [s for s in supplier_db.values() if not s['qualification']]
for supplier in invalid_suppliers:
if any(c['supplier_id'] == supplier['id'] for c in contracts):
record_risk(f"供应商{supplier['name']}资质无效,但已签订合同")
5) 【面试口播版答案】
“面试官您好,针对电力电缆采购流程中供应商未通过资质审核就签合同的问题,我会从验证合规性和识别风险点两方面设计审计程序。首先,验证合规性,我会采用控制测试和实质性程序结合的方式:先通过流程图分析,检查‘供应商资质审核’环节是否在合同签订前执行,然后抽取过去6个月的10%合同样本,检查这些合同对应的供应商是否在指定数据库中且资质状态为‘有效’。其次,识别潜在风险点,我会用数据比对(合同台账与供应商资质台账交叉匹配)发现异常,比如资质状态为‘待审核’或‘无效’但已签订合同的供应商,同时通过访谈采购部门了解未通过审核的原因(是流程疏漏还是供应商信息更新不及时)。最后,汇总结果,形成审计报告,指出流程中的薄弱环节(如审核环节执行率低),并提出改进建议(如增加审核人员培训或自动化审核系统)。”
6) 【追问清单】
7) 【常见坑/雷区】