# 机器人业务系统 - 美国合规要求

## 一、数据隐私与安全

### 1.1 SOX 合规（Sarbanes-Oxley Act）
适用于上市公司或计划上市的企业，对财务相关系统有严格要求：

| 要求 | Power Apps/Dataverse 对应措施 |
|------|-------------------------------|
| 财务数据完整性 | Dataverse 审计日志（Auditing）全量开启，记录所有采购/销售/收款数据的创建、修改、删除操作 |
| 职责分离 (SoD) | 安全角色设计中，采购审批人 ≠ 采购创建人，收款录入人 ≠ 销售创建人 |
| 访问控制 | Azure AD 集成，MFA 强制开启，基于角色的最小权限原则 |
| 变更管理 | 开发环境 → 测试环境 → 生产环境，所有变更通过 Solution 包部署，保留变更记录 |
| 数据保留 | 财务相关数据保留至少 7 年，配置 Dataverse 数据保留策略 |

### 1.2 州级隐私法
| 法规 | 适用范围 | 关键要求 | 系统措施 |
|------|----------|----------|----------|
| CCPA/CPRA（加州） | 收集加州客户个人信息 | 客户有权访问/删除/opt-out 个人数据 | 客户表中标记 CA 客户，提供数据导出和删除功能 |
| VCDPA（弗吉尼亚） | 收集 VA 居民数据 | 类似 CCPA 的隐私权利 | 统一隐私请求处理流程 |
| CPA（科罗拉多） | 收集 CO 居民数据 | 数据最小化原则 | 仅采集业务必需字段 |
| 其他州 | 各州陆续立法中 | 各有差异 | 建议按最严标准（CPRA）统一执行 |

**系统实现：**
- 在 Customer 表中增加 `State` 字段和 `PrivacyConsentDate` 字段
- 通过 Power Automate 构建「隐私数据请求」流程（数据导出/删除）
- 数据删除采用软删除 + 定期硬删除，保留审计记录

### 1.3 数据驻留 (Data Residency)
- Dataverse 环境创建时选择 **United States** 区域
- 数据存储在美国境内的 Azure 数据中心
- 如有跨国业务，确认是否涉及 GDPR（欧洲客户）或中国数据出境要求

---

## 二、贸易合规

### 2.1 出口管制 (Export Controls)
机器人产品可能涉及 EAR（Export Administration Regulations）管制：

| 要求 | 系统措施 |
|------|----------|
| ECCN 分类 | 在 Robot Product 表中增加 `ECCNCode` 字段（Export Control Classification Number） |
| 最终用户筛查 | 销售订单创建时，自动比对客户是否在 BIS 制裁名单（Denied Persons List / Entity List） |
| 许可证追踪 | 增加 `ExportLicenseRequired`（Boolean）和 `ExportLicenseNumber`（Text）字段 |
| 记录保留 | 出口相关记录保留至少 5 年（EAR §762） |

**建议：** 通过 Power Automate 调用第三方合规筛查 API（如 Descartes Visual Compliance 或 SAP GTS）自动校验。

### 2.2 关税与进口 (如涉及进口机器人)
| 要求 | 系统措施 |
|------|----------|
| HTS 编码 | Robot Product 表增加 `HTSCode` 字段（Harmonized Tariff Schedule） |
| 原产地追踪 | Robot Product 表增加 `CountryOfOrigin` 字段 |
| 关税成本 | Purchase Order Line 增加 `DutyRate` 和 `DutyAmount` 字段 |
| 反倾销/反补贴 | 标记涉及 AD/CVD 的产品和来源国 |

---

## 三、税务合规

### 3.1 销售税 (Sales Tax)
美国各州/市/县税率不同（Nexus 规则）：

| 要求 | 系统措施 |
|------|----------|
| 税率计算 | 集成税务计算引擎（推荐 Avalara AvaTax 或 Vertex，均有 Power Platform connector） |
| 免税处理 | Customer 表增加 `TaxExempt`（Boolean）和 `TaxExemptCertificate`（File）字段 |
| 税务记录 | Sales Order 表增加 `TaxAmount`、`TaxRate`、`TaxJurisdiction` 字段 |

**集成方式：** Avalara 提供 Power Automate custom connector，在销售订单确认时自动计算税额。

### 3.2 1099 报告
如果向非法人供应商支付超过 $600/年，需报告 IRS：
- Supplier 表增加 `TINNumber`（Tax ID）、`W9OnFile`（Boolean）、`SupplierType`（Corporation/Individual/LLC）
- 年末通过报表汇总需要发 1099 的供应商

---

## 四、行业特定合规

### 4.1 机器人安全标准
| 标准 | 说明 | 系统措施 |
|------|------|----------|
| OSHA 要求 | 工业机器人安全合规 | Robot Product 表增加 `SafetyCertifications` 字段 |
| ANSI/RIA R15.06 | 工业机器人安全标准 | 追踪产品认证状态和到期日 |
| UL 认证 | 电气安全 | 增加 `ULCertificationNumber` 和 `CertExpDate` |
| FCC Part 15 | 无线通信模块 | 涉及无线功能的机器人需 FCC ID |

### 4.2 产品召回追溯
- 所有销售记录关联到具体序列号（可扩展 Serial Number 表）
- 支持按批次/型号快速查询所有受影响客户和订单
- Power Automate 实现一键批量通知功能

---

## 五、合规相关的数据模型补充

### Robot Product 表新增字段
| 字段名 | 类型 | 说明 |
|--------|------|------|
| ECCNCode | Text | 出口管制分类号 |
| HTSCode | Text | 海关关税编码 |
| CountryOfOrigin | Choice | 原产地国家 |
| ExportLicenseRequired | Boolean | 是否需要出口许可 |
| SafetyCertifications | Multiline Text | 安全认证清单 |
| ULCertificationNumber | Text | UL 认证编号 |
| CertExpirationDate | Date | 认证到期日 |
| FCCId | Text | FCC ID（如适用） |

### Customer 表新增字段
| 字段名 | 类型 | 说明 |
|--------|------|------|
| State | Choice | 所在州 |
| TaxExempt | Boolean | 是否免税 |
| TaxExemptCertificate | File | 免税证书 |
| PrivacyConsentDate | Date | 隐私同意日期 |
| ExportScreeningStatus | Choice | 出口筛查状态（通过/待审/拒绝） |

### Supplier 表新增字段
| 字段名 | 类型 | 说明 |
|--------|------|------|
| TINNumber | Text | 税务ID（加密存储） |
| W9OnFile | Boolean | 是否已收到 W-9 |
| SupplierEntityType | Choice | 实体类型（Corporation/Individual/LLC/Partnership） |

### Sales Order 表新增字段
| 字段名 | 类型 | 说明 |
|--------|------|------|
| TaxAmount | Currency | 税额 |
| TaxRate | Decimal | 税率 |
| TaxJurisdiction | Text | 税务管辖区 |
| ShipToState | Choice | 发货目的州 |

### Purchase Order Line 表新增字段
| 字段名 | 类型 | 说明 |
|--------|------|------|
| DutyRate | Decimal | 关税率 |
| DutyAmount | Currency | 关税金额 |
| LandedCost | Currency | 到岸成本 |
