破解供应链金融与保理尽调痛点:从离线多头查册到企业综合风险实时数据直连
在商业保理、供应链应收账款质押融资、大型产业核心企业上下游协同融资以及产业私募股权投资基金(PE/VC)投资前尽职调查中,对目标借款主体或供应商开展深入的法务资信、涉诉债务与行政监管全景合规审查,是筑牢资产安全底线的核心关口。在产业链协同贸易中,许多供应商与借款企业表面上经营流水稳定、开票活跃,但背地里可能正面临隐性的工程款债务纠纷、劳动仲裁、巨额税务滞纳金或已被多地基层法院纳入限制高消费甚至失信被执行人名录。过去,金融机构尽调项目组主要依赖企业自行填报资信问卷、提交纸质审计报告,并由风控法务人员逐一登录中国裁判文书网、中国执行信息公开网、重大税收违法失信案件公布平台以及国家企业信用信息公示系统进行多头离线查册。这种传统模式耗时冗长、流程割裂、数据碎片化严重,且信息存在明显的公示滞后性,难以实时排查被执行涉案标的、欠税滞纳金或经营异常等履约隐患。
在依法取得目标受调企业签署的合法商事尽调授权(通过《保理融资授信申请书》及配套《企业信用信息查询与使用授权书》)前提下,供应链金融风控中台只需在发起尽调时输入企业两要素:ent_name(企业全称)与 ent_code(统一社会信用代码)。系统即可通过具备安全加密保障的高可用专线直连权威企业信用数据中心。接口返回经 AES-128-CBC 解密后的企业全维度多维报告,深度聚合数千个穿透指标:riskOverview(输出 0--100 综合风险量化得分 riskScore、综合风险等级 riskLevel 及重点排查维度命中标签 tags/items);basic(工商基础信息与当前存续状态 status、成立年限与注册资本实缴情况);risks(司法诉讼与合规汇总,包括 hasDishonestDebtors 失信被执行人标记、dishonestDebtorCount 失信条数、hasLimitHighDebtors 限制高消费、hasException 经营异常名录、hasAdminPenalty 行政处罚、litigation 涉诉分类及未结案标的金额 amount、mortgages 动产抵押等);ownTaxNotices(欠税公告总数及累计欠税余额 ownTaxBalance);taxViolations(重大税收违法案件明细)以及 customsCredit(海关注册与进出口信用异常)。这些客观、可量化的第一手数据为保理融资金额测算、增信担保设计及投委会决策提供了严谨的量化事实依托。
将海宇企业综合风险报告整合为 Python 自动化对公量化风控微服务,能够把原本长达数日的线下拉网式查册全面转变为毫秒级的前置准入校验与智能合规决策流。这不仅大幅提升了供应链普惠金融的放款流转效率,更通过规则引擎与加权量化模型,将不同风险梯度的企业精准分流至优选准入、增信准入或人工复核提醒流程,全方位巩固了产业金融的资产合规防线。
Python 加密通信集成:构建高可用审核管道
1. 核心参数与加密配置
- 接口地址 :
https://api.haiyudata.com/api/v1/QYGLJ1U9(需在 URL 附加?t=13位时间戳) - 请求方式 :
POST - 请求头 :
Access-Id: 账号的 Access-Id (必填)Content-Type:application/json
- 关键入参 :
ent_name: 企业名称(必填)ent_code: 企业统一信用代码(必填)
- 鉴权与加密机制 : 使用账户的 16 进制 Access Key 作为密钥,采用 AES-128 算法的 CBC 模式。每次请求需动态生成 16 字节的 IV(初始化向量),并配合 PKCS7 填充,最终将 IV 与密文拼接后进行 Base64 编码放入请求体
data字段中。
2. 标准化调用代码 (Python)
以下 Python 生产级代码基于 requests 与 pycryptodome 库构建,专为商业保理融前审批、产业基金投决风控及供应链金融对公尽职调查系统量身打造。代码完整实现了 16 进制密钥转码、动态随机 IV 生成、AES-128-CBC 编解码、统一社会信用代码脱敏过滤,以及对综合风险量化评分、司法失信、涉诉待执行标的、欠税公告与行政处罚的全自动解析和信审准入分级引擎:
python
import base64
import json
import logging
import os
import time
from dataclasses import dataclass, field
from typing import Any, Dict, List, Optional, Tuple
import requests
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
# 配置商业保理与产业基金对公尽调网关日志格式
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] [Factoring-Risk-Gateway] %(message)s"
)
logger = logging.getLogger(__name__)
@dataclass
class FactoringApplicantProfile:
"""供应链商业保理借款申请企业档案"""
application_id: str
ent_name: str
ent_code: str # 统一社会信用代码
requested_amount_wan: float # 申请融资金额(万元)
core_enterprise_name: str # 供应链核心买方企业全称
invoice_count: int = 10 # 拟转让应收账款发票数
@dataclass
class RiskOverviewMetric:
"""企业综合风险量化评估指标"""
risk_level: str # 低 / 中 / 高
risk_score: float # 0~100 分 (分值越高代表风险越低、资信越优)
hit_tags: List[str] = field(default_factory=list)
dimension_hits: Dict[str, bool] = field(default_factory=dict)
@dataclass
class JudicialRiskMetric:
"""司法诉讼与监管合规特征指标"""
is_dishonest: bool # 是否命中失信被执行人
dishonest_count: int # 失信记录条数
is_limit_high: bool # 是否命限制高消费
limit_high_count: int # 限高记录条数
has_exceptions: bool # 是否列入经营异常名录
has_admin_penalties: bool # 是否存在行政处罚
total_litigation_cases: int # 涉诉案件总数
pending_execution_amount: float # 未结案执行与争议标的金额(元)
has_mortgage: bool # 是否存在动产抵押
has_equity_pledge: bool # 是否存在股权出质
@dataclass
class TaxComplianceMetric:
"""税务合规与税收稽查特征指标"""
own_tax_notices_count: int # 欠税公告条数
own_tax_total_balance: float # 累计欠缴税款总余额(元)
tax_violation_count: int # 重大税收违法案件条数
tax_categories: List[str] = field(default_factory=list) # 涉及欠税税种清单
@dataclass
class FactoringAdmissionEvaluation:
"""保理与基金对公尽职调查综合准入评估结论"""
application_id: str
ent_name_masked: str
ent_code_masked: str
decision_action: str # ADMIT_PREFERRED(优选准入/标准放款), ADMIT_WITH_ENHANCEMENT(增信准入/追加核心企业担保), MANUAL_COMPLIANCE_AUDIT(涉诉与税务人工复核提醒), REJECT_RISK_BOUNDARY(超出风险容忍边界/前置准入校验未通过)
risk_score: float
risk_summary_tags: List[str] = field(default_factory=list)
risk_overview: Optional[RiskOverviewMetric] = None
judicial_metric: Optional[JudicialRiskMetric] = None
tax_metric: Optional[TaxComplianceMetric] = None
underwriting_recommendations: List[str] = field(default_factory=list)
class SupplyChainFactoringRiskEngine:
"""
商业保理与产业基金全维度对公尽调风控网关客户端
封装 AES-128-CBC 随机 IV 通信加密、综合风险报告解码及多维对公风控决策
"""
API_URL = "https://api.haiyudata.com/api/v1/QYGLJ1U9"
def __init__(self, access_id: str, access_key_hex: str, timeout: int = 15):
self.access_id = access_id.strip()
# 将 32 位 16 进制 Access Key 严格转换为 16 字节二进制密钥 (AES-128)
self.key_bytes = bytes.fromhex(access_key_hex.strip())
if len(self.key_bytes) != 16:
raise ValueError("Access Key 必须能够转换为 16 字节的二进制密钥 (AES-128)")
self.timeout = timeout
self.session = requests.Session()
self.session.headers.update({
"Access-Id": self.access_id,
"Content-Type": "application/json"
})
@staticmethod
def mask_ent_code(code: str) -> str:
"""统一社会信用代码脱敏,保留前6位与后4位"""
if len(code) >= 10:
return f"{code[:6]}{'*' * (len(code) - 10)}{code[-4:]}"
return code
def _encrypt_payload(self, raw_params: Dict[str, Any]) -> str:
"""生成 16 字节随机 IV,执行 AES-128-CBC 加密并输出 Base64"""
plaintext = json.dumps(raw_params, ensure_ascii=False).encode("utf-8")
iv = os.urandom(16)
cipher = AES.new(self.key_bytes, AES.MODE_CBC, iv)
ciphertext = cipher.encrypt(pad(plaintext, AES.block_size, style="pkcs7"))
combined_payload = iv + ciphertext
return base64.b64encode(combined_payload).decode("utf-8")
def _decrypt_payload(self, encrypted_b64: str) -> Dict[str, Any]:
"""从 Base64 密文提取前 16 字节 IV,解密返回明文字典"""
raw_combined = base64.b64decode(encrypted_b64)
if len(raw_combined) < 16:
raise ValueError("密文长度非法,不足 16 字节初始化向量")
iv = raw_combined[:16]
ciphertext = raw_combined[16:]
cipher = AES.new(self.key_bytes, AES.MODE_CBC, iv)
decrypted_bytes = unpad(cipher.decrypt(ciphertext), AES.block_size, style="pkcs7")
return json.loads(decrypted_bytes.decode("utf-8"))
def conduct_enterprise_due_diligence(self, applicant: FactoringApplicantProfile) -> FactoringAdmissionEvaluation:
"""
发起企业全维度综合风险尽调核验,执行信审量化评级
"""
timestamp_ms = int(time.time() * 1000)
request_url = f"{self.API_URL}?t={timestamp_ms}"
masked_code = self.mask_ent_code(applicant.ent_code)
payload_dict = {
"ent_name": applicant.ent_name,
"ent_code": applicant.ent_code
}
try:
encrypted_data = self._encrypt_payload(payload_dict)
request_body = {"data": encrypted_data}
logger.info("发起企业综合风险尽调 | 企业: %s | 信用代码: %s", applicant.ent_name, masked_code)
response = self.session.post(request_url, json=request_body, timeout=self.timeout)
if response.status_code != 200:
logger.error("HTTP 请求失败: %d, 响应: %s", response.status_code, response.text)
return self._build_fallback_verdict(applicant, "MANUAL_COMPLIANCE_AUDIT", ["接口通信状态异常"])
resp_json = response.json()
code = resp_json.get("code")
msg = resp_json.get("message", "")
data_cipher = resp_json.get("data", "")
if code != 0 or not data_cipher:
logger.warning("接口业务返回非成功: code=%s, msg=%s", code, msg)
return self._build_fallback_verdict(applicant, "MANUAL_COMPLIANCE_AUDIT", [f"上游状态: {msg}"])
# 解密企业全景报告业务体
report_data = self._decrypt_payload(data_cipher)
return self._evaluate_report_metrics(applicant, report_data)
except requests.exceptions.Timeout:
logger.error("企业综合风险查询超时 | 企业: %s", applicant.ent_name)
return self._build_fallback_verdict(applicant, "MANUAL_COMPLIANCE_AUDIT", ["外部权威源查询超时"])
except Exception as ex:
logger.error("尽调网关执行异常 | 企业: %s | 错误: %s", applicant.ent_name, str(ex))
return self._build_fallback_verdict(applicant, "MANUAL_COMPLIANCE_AUDIT", [f"解析异常: {str(ex)}"])
def _evaluate_report_metrics(self, applicant: FactoringApplicantProfile, report: Dict[str, Any]) -> FactoringAdmissionEvaluation:
"""
核心量化决策引擎:结合综合风险总览、司法执行、税务欠税及合规状态进行多维评估
"""
masked_code = self.mask_ent_code(applicant.ent_code)
# 1. 解析 riskOverview
overview_dict = report.get("riskOverview", {})
risk_level = overview_dict.get("riskLevel", "未知")
risk_score = float(overview_dict.get("riskScore", 0.0))
overview_tags = overview_dict.get("tags", [])
raw_items = overview_dict.get("items", [])
dimension_map = {item.get("name", ""): bool(item.get("hit", False)) for item in raw_items if isinstance(item, dict)}
overview_metric = RiskOverviewMetric(
risk_level=risk_level,
risk_score=risk_score,
hit_tags=overview_tags,
dimension_hits=dimension_map
)
# 2. 解析 risks (司法涉诉与合规)
risks_dict = report.get("risks", {})
has_dishonest = bool(risks_dict.get("hasDishonestDebtors", False))
dishonest_cnt = int(risks_dict.get("dishonestDebtorCount", 0))
has_limit_high = bool(risks_dict.get("hasLimitHighDebtors", False))
limit_high_cnt = int(risks_dict.get("limitHighDebtorCount", 0))
has_exceptions = bool(risks_dict.get("hasException", False))
has_admin_penalties = bool(risks_dict.get("hasAdminPenalty", False))
has_mortgage = bool(risks_dict.get("hasMortgage", False))
has_equity_pledge = bool(risks_dict.get("hasEquityPledges", False))
litigation_dict = risks_dict.get("litigation", {})
total_litigation_cases = int(litigation_dict.get("totalCases", 0))
# 统计涉诉中未结案标的金额
pending_amount = 0.0
for category_key, cat_val in litigation_dict.items():
if isinstance(cat_val, dict) and "amount" in cat_val:
try:
pending_amount += float(cat_val.get("amount", 0.0))
except (ValueError, TypeError):
pass
judicial_metric = JudicialRiskMetric(
is_dishonest=has_dishonest,
dishonest_count=dishonest_cnt,
is_limit_high=has_limit_high,
limit_high_count=limit_high_cnt,
has_exceptions=has_exceptions,
has_admin_penalties=has_admin_penalties,
total_litigation_cases=total_litigation_cases,
pending_execution_amount=pending_amount,
has_mortgage=has_mortgage,
has_equity_pledge=has_equity_pledge
)
# 3. 解析 ownTaxNotices 与 taxViolations (税务合规)
own_tax_dict = report.get("ownTaxNotices", {})
own_tax_count = int(own_tax_dict.get("total", 0))
tax_items = own_tax_dict.get("items", [])
total_tax_balance = 0.0
tax_cats = []
for t_item in tax_items:
try:
total_tax_balance += float(t_item.get("ownTaxBalance", 0.0))
except (ValueError, TypeError):
pass
cat_name = t_item.get("taxCategory", "")
if cat_name and cat_name not in tax_cats:
tax_cats.append(cat_name)
tax_violations_dict = report.get("taxViolations", {})
tax_violation_count = int(tax_violations_dict.get("total", 0))
tax_metric = TaxComplianceMetric(
own_tax_notices_count=own_tax_count,
own_tax_total_balance=total_tax_balance,
tax_violation_count=tax_violation_count,
tax_categories=tax_cats
)
# 4. 工商登记存续状态排查
basic_dict = report.get("basic", {})
ent_status = basic_dict.get("status", "存续")
# 5. 规则决策分流
decision = "ADMIT_PREFERRED"
summary_tags: List[str] = []
advice: List[str] = []
# 准入底线规则:失信被执行、限制高消费、重大税收违法或企业非存续
if has_dishonest or dishonest_cnt > 0 or has_limit_high or tax_violation_count > 0 or ent_status in ["注销", "吊销"]:
decision = "REJECT_RISK_BOUNDARY"
summary_tags.append("触碰合规底线指标")
if has_dishonest:
summary_tags.append("失信被执行主体")
advice.append(f"目标企业被列入失信被执行人名录 (在案记录 {dishonest_cnt} 条),超出保理业务准入风险容忍边界。")
if has_limit_high:
summary_tags.append("限制高消费被执行主体")
advice.append(f"企业存在限制高消费令 (在案记录 {limit_high_cnt} 条),提示履约支付能力严重受限。")
if tax_violation_count > 0:
summary_tags.append("重大税收违法案件")
advice.append(f"检出重大税收违法稽查记录 {tax_violation_count} 起,存在严重税务合规隐患。")
if ent_status in ["注销", "吊销"]:
summary_tags.append("非存续主体")
advice.append(f"企业工商经营状态显示为【{ent_status}】,禁止开展对公授信与应收账款转让。")
# 人工复核规则:高额未结涉诉、欠税余额较大或经营异常
elif pending_amount > 1000000.0 or total_tax_balance > 50000.0 or has_exceptions:
decision = "MANUAL_COMPLIANCE_AUDIT"
summary_tags.append("触发风控人工复核")
if pending_amount > 1000000.0:
summary_tags.append("大额涉诉待执行")
advice.append(f"涉及诉讼未结案争议标的累计达 {pending_amount:,.2f} 元,需法务部门复核案件执行对银行账户冻结的影响。")
if total_tax_balance > 50000.0:
summary_tags.append("在案欠税未缴")
advice.append(f"税务部门公告在案欠税余额达 {total_tax_balance:,.2f} 元 (涉及税种: {', '.join(tax_cats)}),提示日常现金流偏紧。")
if has_exceptions:
summary_tags.append("经营异常名录在案")
advice.append("企业当前列入市场监管经营异常名录,需提供工商移出证明或说明未按时公示年报的具体原因。")
# 增信准入规则:存在行政处罚、动产抵押或综合评分介于 65~79 分
elif risk_score < 80.0 or has_admin_penalties or has_mortgage or has_equity_pledge:
decision = "ADMIT_WITH_ENHANCEMENT"
summary_tags.append("增信条件准入")
advice.append(f"企业综合风险得分 {risk_score} 分 (评级: {risk_level}),虽无恶性负面但处于一般合规观察区间。")
if has_admin_penalties:
summary_tags.append("历史行政处罚记录")
advice.append("存在市场监管或行业行政处罚记录,需审查处罚是否整改完毕。")
if has_mortgage or has_equity_pledge:
summary_tags.append("资产已设抵质押")
advice.append("企业核心生产设备已设立动产抵押或存在股权出质,建议要求供应链核心企业提供应收账款无条件付款承诺函。")
# 优选准入规则:得分 80 分以上,无负面合规记录
else:
decision = "ADMIT_PREFERRED"
summary_tags.append("资信优良")
summary_tags.append("合规低风险")
advice.append(f"综合风险得分 {risk_score} 分,各核查维度均未检出合规负面,准予按照标准保理放款流程推进。")
logger.info("企业尽调评估完成 | 企业: %s | 决策: %s | 分数: %s", applicant.ent_name, decision, risk_score)
return FactoringAdmissionEvaluation(
application_id=applicant.application_id,
ent_name_masked=applicant.ent_name,
ent_code_masked=masked_code,
decision_action=decision,
risk_score=risk_score,
risk_summary_tags=summary_tags,
risk_overview=overview_metric,
judicial_metric=judicial_metric,
tax_metric=tax_metric,
underwriting_recommendations=advice
)
def _build_fallback_verdict(self, applicant: FactoringApplicantProfile, decision: str, tags: List[str]) -> FactoringAdmissionEvaluation:
"""异常与超时兜底对象生成"""
return FactoringAdmissionEvaluation(
application_id=applicant.application_id,
ent_name_masked=applicant.ent_name,
ent_code_masked=self.mask_ent_code(applicant.ent_code),
decision_action=decision,
risk_score=0.0,
risk_summary_tags=tags,
underwriting_recommendations=["系统通信或数据解析发生异常,已转人工复核提醒,等待批处理异步校验。"]
)
if __name__ == "__main__":
# 从系统环境变量读取海宇数据平台凭据
HAIYU_ACCESS_ID = os.getenv("HAIYU_ACCESS_ID", "hy_factoring_service_01")
# 示例 32 位 16 进制密钥 (128位 AES Key)
HAIYU_ACCESS_KEY_HEX = os.getenv("HAIYU_ACCESS_KEY_HEX", "5c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f")
engine = SupplyChainFactoringRiskEngine(
access_id=HAIYU_ACCESS_ID,
access_key_hex=HAIYU_ACCESS_KEY_HEX
)
# 1. 模拟某新能源汽车供应链上游精密制造供应商的保理融资申请
applicant_supplier = FactoringApplicantProfile(
application_id="FACTOR-APP-20261014-0412",
ent_name="江苏某精密机械制造有限公司",
ent_code="91320508MA1ABC234X",
requested_amount_wan=800.0,
core_enterprise_name="上海某新能源整车集团股份有限公司"
)
print("\n==================== 商业保理与产业基金对公尽职调查综合核验 ====================")
# 模拟真实发起网络调用(若在离线环境,可通过模拟响应报文演示量化判定逻辑)
# evaluation = engine.conduct_enterprise_due_diligence(applicant_supplier)
# 构造模拟解密后的企业综合风险真实业务画像(得分 72 分,含税收欠税与动产抵押)
mock_enterprise_report = {
"reportId": "HY-REPORT-20261014-88992",
"entName": "江苏某精密机械制造有限公司",
"creditCode": "91320508MA1ABC234X",
"basic": {
"entName": "江苏某精密机械制造有限公司",
"creditCode": "91320508MA1ABC234X",
"status": "存续",
"registeredCapital": 2000.0,
"establishDate": "2018-06-15",
"legalRepresentative": "陈某某"
},
"riskOverview": {
"riskLevel": "中",
"riskScore": 72.5,
"tags": ["动产抵押在案", "欠缴企业增值税"],
"items": [
{"name": "裁判文书记录", "hit": False},
{"name": "失信被执行人", "hit": False},
{"name": "限高被执行人", "hit": False},
{"name": "行政处罚", "hit": True},
{"name": "经营异常名录", "hit": False},
{"name": "欠税记录", "hit": True},
{"name": "重大税收违法案件", "hit": False},
{"name": "动产抵押", "hit": True},
{"name": "股权出质", "hit": False}
]
},
"risks": {
"riskLevel": "中",
"riskScore": 72.5,
"hasCourtJudgments": False,
"hasDishonestDebtors": False,
"dishonestDebtorCount": 0,
"hasLimitHighDebtors": False,
"limitHighDebtorCount": 0,
"hasException": False,
"hasAdminPenalty": True,
"hasMortgage": True,
"hasEquityPledges": False,
"litigation": {
"totalCases": 1,
"civil": {
"count": 1,
"amount": 180000.0
}
}
},
"ownTaxNotices": {
"total": 1,
"items": [
{
"taxIdNumber": "91320508MA1ABC234X",
"taxpayerName": "江苏某精密机械制造有限公司",
"taxCategory": "国内增值税",
"ownTaxBalance": 68500.0,
"publishDate": "2026-08-10",
"department": "国家税务总局苏州市税务局"
}
]
},
"taxViolations": {
"total": 0,
"items": []
}
}
# 执行风控量化评估
evaluation = engine._evaluate_report_metrics(applicant_supplier, mock_enterprise_report)
print(f"保理申请编号: {evaluation.application_id}")
print(f"目标受调企业: {evaluation.ent_name_masked}")
print(f"统一信用代码: {evaluation.ent_code_masked}")
print(f"综合风险评分: {evaluation.risk_score} 分")
print(f"信审决策指令: {evaluation.decision_action}")
print(f"综合风险特征标签: {' | '.join(evaluation.risk_summary_tags)}")
print("\n------------------------------ 授信审批与法务建议 ------------------------------")
for idx, rec in enumerate(evaluation.underwriting_recommendations, start=1):
print(f" {idx}. {rec}")
print("===============================================================================\n")
3. 终端快捷验证 (cURL)
在业务系统完成 Python 模块组装前,供应链金融风控研发团队可在终端使用 cURL 命令检验与海宇企业综合风险报告接口的通信连通性。命令通过 URL 参数注入毫秒时间戳 ?t=$(date +%s000),请求头携带 Access-Id,请求体携带经过 16 字节随机 IV 混淆与 AES-128-CBC 加密后的 Base64 编码数据:
bash
curl -X POST "https://api.haiyudata.com/api/v1/QYGLJ1U9?t=$(date +%s000)" \
-H "Access-Id: YOUR_ACCESS_ID" \
-H "Content-Type: application/json" \
-d '{
"data": "7bX1lMvQ92mP1a9sV7zX8p1a9sV7zX8p1a9sV7zX8p1a9sV7zX8p1a9sV7zX8p1a9sV7zX8p1a9sV7zX8p=="
}'
核心企业综合风险报告数据解析与业务映射
企业综合风险报告解密后包含企业工商主体、股权层级、综合风险评级、司法执行、税务稽查及行政处罚等多维对象。下表详细解析了接口核心字段释义及其在商业保理与产业基金对公尽调中的业务映射逻辑:
| 数据模块 | 核心字段名 | 字段类型 | 示例取值 | 业务含义与保理尽调量化映射逻辑 |
|---|---|---|---|---|
| 请求入参 (业务体) | ent_name |
String | "江苏某精密机械制造有限公司" |
企业全称:工商核准企业唯一中文名称,用于企业资质排查与合同主体绑定。 |
ent_code |
String | "91320508MA1ABC234X" |
统一社会信用代码:全国企业统一法码,作为跨部门司法、税务、工商数据关联主键。 | |
主体概况 (basic) |
status |
String | "存续" |
企业经营状态:存续/在营/迁出/吊销/注销。非存续状态直接触发准入底线规则。 |
registeredCapital |
Number | 2000.0 |
注册资本(万元):衡量企业法定初始承债规模,结合出资明细判定实缴比例。 | |
establishDate |
String | "2018-06-15" |
成立日期:推算主体经营年限,低于 2 年初创主体通常需追加核心企业保证。 | |
综合风险总览 (riskOverview) |
riskLevel |
String | "中" |
综合风险等级:直观展示低、中、高三个风险档位,为保理信审提供宏观定级基准。 |
riskScore |
Number | 72.5 |
综合风险量化得分(0~100 分):分值越高代表风险越低、资信越优。作为定价和担保成数调节依据。 | |
tags |
Array | ["动产抵押在案", ...] |
风险特征简短标签:秒级透视企业核心合规隐患点,供信审委员会快速研判。 | |
items |
Array | [...] |
重点检查维度命中明细:涵盖裁判文书、司法协助、失信被执行、经营异常等数十个维度的布尔判定。 | |
司法合规汇总 (risks) |
hasDishonestDebtors |
Boolean | false |
失信被执行人标记 :若为 true,表明存在生效法律文书拒不履行,直接触碰准入底线。 |
dishonestDebtorCount |
Integer | 0 |
失信记录在案条数:量化恶意失信严重程度。 | |
hasLimitHighDebtors |
Boolean | false |
限制高消费被执行人标记 :若为 true,表明企业及实控人被采取限制高消费措施。 |
|
hasException |
Boolean | false |
经营异常名录标记:反映是否因未按时报送年报或住所无法联系被市场监管部门列异。 | |
hasAdminPenalty |
Boolean | true |
行政处罚在案标记:反映是否曾受工商、环保、应急或住建等行政监管处罚。 | |
hasMortgage |
Boolean | true |
动产抵押在案标记:提示企业设备等动产已对外质押担保,需排查剩余净资产价值。 | |
司法涉诉分类 (litigation) |
totalCases |
Integer | 1 |
涉诉案件累计总条数:涵盖执行、保全、民事、劳动仲裁等各类案件总量。 |
amount |
Number | 180000.0 |
涉诉争议与待执行标的总金额(元):直接量化司法纠纷可能带来的资金冻结敞口。 | |
欠税公告 (ownTaxNotices) |
total |
Integer | 1 |
在案欠税公告条数:反映税务机关公开披露的拖欠税款记录频度。 |
ownTaxBalance |
Number | 68500.0 |
累计欠税余额(元):量化反映企业当期即期流动性压力与税法遵从水平。 | |
税收违法 (taxViolations) |
total |
Integer | 0 |
重大税收违法案件条数:涉及虚开增值税专用发票、偷税抗税等恶性违法记录排查。 |
技术提示 :企业统一社会信用代码(
ent_code)与关联法人证件属于对公金融业务核心敏感信息。在分布式微服务调用日志、APM 链路追踪以及前台审批展示中,应严格执行掩码脱敏(如91320508MA******234X)。由接口解密获取的企业风险全景报文应落入金融级物理隔离风控库,实施严格的行级与列级访问权限控制,确保符合商事数据合规与金融监管审计规范。
场景化应用:让核验数据赋能合规闭环
1. 商业保理应收账款转让前置资质穿透与放款额度动态核定
在汽车制造、大型装备或高端电子制造产业链中,核心主机厂的上游多级供应商普遍存在强烈的应收账款保理变现需求。保理商在受理供应商 800 万元应收账款转让申请时,必须防范供应商因自身深陷债务纠纷或经营异动导致资金被司法划扣。保理信审系统在收到申请后,自动触发 Python 风控管道调用海宇企业综合风险报告接口。若返回的 riskScore 达到 85 分以上,且 hasDishonestDebtors、hasLimitHighDebtors 及欠税记录均为 false,系统自动核准优选准入,给予基准保理融资利率并快速放款;若检测到供应商存在 6.8 万元增值税欠税记录或动产抵押,系统自动转入 ADMIT_WITH_ENHANCEMENT 增信准入流程,动态将融资金额上限压缩至发票面值的 70%,并要求增加核心买方直接受让确认函,有效对冲企业经营流动性隐患。
2. 产业私募股权投资基金(PE/VC)被投供应链标的投资前法务与税务全面尽调
在产业母基金、硬科技创投基金开展 Pre-A 或成长轮股权投资前,投资团队需对目标企业开展长达数周的法务与合规尽职调查。部分标的企业在路演阶段虽然出具了靓丽的研发成果与订单预期,但其实际控制人或关联主体可能背负繁重的隐性诉讼与司法执行担保。投资决策系统通过集成企业综合风险报告接口,对标的企业及其历史分支机构展开一键全景扫描。系统通过解析 litigation 模块中的民事(civil)与财产保全(preservation)案件,精准汇总未结案涉诉争议金额。一旦发现企业正面临超过净资产 30% 的买卖合同违约追索,或在 taxViolations 中检出曾因发票违规受过税务稽查通报,投资中台自动将项目标记为 MANUAL_COMPLIANCE_AUDIT,并在投决报告中单列法务与税务合规专项章节,要求创始人补充提供涉诉判决书与完税证明,保障基金出资人(LP)的资金安全与投资合规底线。
3. 供应链核心企业上游供应商履约监控与风险早期预警
大型央国企、高端装备制造核心企业每年拥有数千家原材料与零部件合格供应商,供应商经营稳健性直接关乎产业链供应链韧性。核心企业供应链协同平台依托企业综合风险报告构建了全生命周期的自动化贷后与履约预警机制。系统每月自动对合格供应商库发起定周期批量扫描。当某家核心零部件供应商在国家企业信用信息公示系统被列入"经营异常名录"(hasException=true),或新增被执行人记录时,预警网关立即将该供应商评级由"战略合作"下调为"重点关注",并向采购与财务部门推送合规风险通报。财务中台据此暂时挂起后续预付款项的拨付流程,采购中台则同步启动备选供应链应急预案,切实防范因单点供应商经营停摆导致的整车供应链断供危机。
生产环境接入的安全与合规边界
- 对公多维授权凭证合规存证与电子签名闭环:依据《中华人民共和国民法典》、《中华人民共和国个人信息保护法》及金融监管机构关于企业征信与大数据对公尽调的合规指引,在调用接口获取企业司法、税务及监管全景风险数据前,必须确保目标企业法定代表人或授权经办人在线签署了具备法律效力的《企业信用信息尽职调查授权书》,通过数字证书完成电子签名,并将签署 PDF 合同哈希、经办人实名认证时间戳及 IP 统一归档至电子存证系统备查。
- 金融级 KMS 密钥托管与端到端密文列级加密 :生产环境绝对禁止在代码配置文件或容器环境变量中明文保留 16 进制 Access Key,必须统一接入 KMS(密钥管理系统)实现凭据的集中托管与定期轮换。每次向
https://api.haiyudata.com/api/v1/QYGLJ1U9发起调用时,必须通过安全伪随机源(如os.urandom(16))生成单次独立的 16 字节 IV,严禁固定 IV 或向量复用;对解密获取的司法案号、涉诉金额及税务数据,在企业数仓持久化时必须使用国密 SM4 或高强度对称加密算法实施列级加密存储。 - 批量尽调异步削峰、令牌桶限流与高可用容灾:在季度末供应链企业集中结算与对公保理批量申请高峰期,网关可能面临高并发脉冲调用冲击。架构设计上应采用 Redis 分布式令牌桶算法对出向 QPS 实施平滑流控,并通过 Celery 或 RabbitMQ 异步任务队列实现削峰填谷。同时,微服务须集成断路器与熔断降级机制;当外部权威数据链路出现偶发超时抖动时,系统应平滑降级至"异步离线挂起"并记录重试任务,确保供应链金融信审前台核心审批流程的持续稳定运转。