compliance-management について
複数市場やサプライヤーに関わる規制、認証、リスクを扱うサプライチェーン向けコンプライアンス管理スキルです。貿易、製品、環境、社会、プライバシー、業界固有の要件を整理します。
主な機能
- 01規制分野とコンプライアンスリスクの整理
- 02貿易コンプライアンスとHSコード分類
- 03製品・業界規制の対象整理
- 04サプライヤー認証と監査の追跡
- 05コンプライアンス報告と是正計画
活用シーン
- 01地域をまたぐ適用規制の整理
- 02サプライヤー書類と監査状況の評価
- 03認証の期限と更新対応の追跡
- 04顧客向けコンプライアンス調査票や報告書の準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ kishorkukreja/ awesome-supply-chain --skill compliance-managementインストール後、Claude Code で/compliance-managementを入力して読み込まれたか確認します。
詳細
コンプライアンス管理
サプライチェーンのコンプライアンスと規制管理の専門家として、複雑な規制要件への対応、基準の遵守、認証の管理、グローバルサプライチェーン全体のコンプライアンスリスクの軽減を組織に支援します。
初期評価
コンプライアンス管理を導入する前に、以下を把握します。
-
規制環境
- 対象となる業界と製品は何ですか?
- 事業を展開している地理的地域はどこですか?
- 適用される主要な規制の枠組みは何ですか?
- 最近のコンプライアンス上の問題や違反はありますか?
-
コンプライアンス成熟度
- 現在のコンプライアンスプロセスとシステムはどのようなものですか?
- 専任のコンプライアンス担当者はいますか?
- サプライヤーに求めるコンプライアンス要件は何ですか?
- 監査とモニタリングの頻度はどのくらいですか?
-
リスクエクスポージャー
- コンプライアンス違反に対する罰則は何ですか?
- 事業中断のリスクはありますか?
- 評判への影響はありますか?
- 顧客の要件や監査にはどのようなものがありますか?
-
サプライチェーンの複雑さ
- サプライヤーと国の数はいくつですか?
- 製品の複雑さや部品表(BOM)の階層はどの程度ですか?
- 製品の規制上の分類は何ですか?
- 輸出入の取扱量はどのくらいですか?
規制コンプライアンスの枠組み
主な規制分野
1. 貿易コンプライアンス
- 輸出入規制
- 税関分類(HSコード)
- 原産国の判定
- 自由貿易協定(FTA)
- 貿易制裁と禁輸措置
- 輸出管理(EAR、ITAR)
2. 製品安全と規制
- REACH(EUの化学物質規制)
- RoHS(有害物質の使用制限)
- プロポジション65(カリフォルニア州)
- TSCA(米国の化学物質規制)
- FDA(食品、医薬品、医療機器)
- CPSC(消費者製品安全)
3. 環境コンプライアンス
- WEEE(電気電子機器廃棄物)
- 包装規制
- 炭素排出量の報告要件
- 廃棄物管理規制
- 環境許可
4. 社会的・倫理的コンプライアンス
- 紛争鉱物(3TG:スズ、タンタル、タングステン、金)
- 強制労働(ウイグル強制労働防止法)
- 児童労働の禁止
- 現代奴隷法(英国、オーストラリア)
- 公正労働基準
- 人権デューデリジェンス
5. データとプライバシー
- GDPR(EUのデータ保護)
- CCPA(カリフォルニア州のプライバシー)
- データローカライゼーション要件
- 国境を越えたデータ移転
6. 業界固有
- 医薬品(GMP、GDP)
- 自動車(IATF 16949)
- 航空宇宙(AS9100)
- 食品安全(FSMA、HACCP)
- 医療機器(ISO 13485、FDA QSR)
コンプライアンス管理システム
規制データベースと追跡
import pandas as pd
import numpy as np
from datetime import datetime, timedelta
class ComplianceManager:
"""Comprehensive compliance management system"""
def __init__(self):
self.regulations = {}
self.products = {}
self.suppliers = {}
self.certifications = []
self.compliance_violations = []
def add_regulation(self, reg_id, regulation_name, region, category,
effective_date, review_frequency_days=365):
"""
Add regulation to track
category: 'trade', 'product_safety', 'environmental', 'social', 'data'
"""
self.regulations[reg_id] = {
'regulation_name': regulation_name,
'region': region,
'category': category,
'effective_date': effective_date,
'review_frequency_days': review_frequency_days,
'last_review_date': None,
'next_review_date': None,
'compliance_status': 'Pending Review'
}
def add_product(self, product_id, product_name, hs_code, materials,
target_markets, applicable_regulations):
"""
Add product and its compliance requirements
materials: list of material components
applicable_regulations: list of regulation IDs that apply
"""
self.products[product_id] = {
'product_name': product_name,
'hs_code': hs_code,
'materials': materials,
'target_markets': target_markets,
'applicable_regulations': applicable_regulations,
'compliance_status': {},
'certifications_required': [],
'certifications_obtained': []
}
# Initialize compliance status for each regulation
for reg_id in applicable_regulations:
self.products[product_id]['compliance_status'][reg_id] = 'Not Assessed'
def assess_product_compliance(self, product_id):
"""
Assess product compliance against applicable regulations
Returns compliance gaps and required actions
"""
if product_id not in self.products:
return None
product = self.products[product_id]
compliance_assessment = {
'product_id': product_id,
'product_name': product['product_name'],
'overall_status': 'Compliant',
'regulations_assessed': [],
'compliance_gaps': [],
'actions_required': []
}
for reg_id in product['applicable_regulations']:
if reg_id not in self.regulations:
continue
regulation = self.regulations[reg_id]
# Check specific compliance based on regulation type
gap_found = False
if regulation['category'] == 'product_safety':
# Example: Check for restricted substances
if self._check_restricted_substances(product):
gap_found = True
compliance_assessment['compliance_gaps'].append({
'regulation': regulation['regulation_name'],
'issue': 'Product contains restricted substances',
'severity': 'Critical'
})
compliance_assessment['actions_required'].append({
'action': 'Reformulate product or obtain exemption',
'owner': 'Product Development',
'timeline': '90 days'
})
elif regulation['category'] == 'trade':
# Example: Check for proper classification
if not product['hs_code']:
gap_found = True
compliance_assessment['compliance_gaps'].append({
'regulation': regulation['regulation_name'],
'issue': 'Missing HS code classification',
'severity': 'High'
})
compliance_assessment['actions_required'].append({
'action': 'Complete customs classification',
'owner': 'Trade Compliance',
'timeline': '30 days'
})
# Update status
status = 'Non-Compliant' if gap_found else 'Compliant'
product['compliance_status'][reg_id] = status
compliance_assessment['regulations_assessed'].append({
'regulation_id': reg_id,
'regulation_name': regulation['regulation_name'],
'status': status
})
if gap_found:
compliance_assessment['overall_status'] = 'Non-Compliant'
return compliance_assessment
def _check_restricted_substances(self, product):
"""Check if product contains restricted substances"""
# Simplified check - in reality would check against substance database
restricted_materials = ['lead', 'cadmium', 'mercury', 'hexavalent_chromium']
for material in product['materials']:
if material.lower() in restricted_materials:
return True
return False
def add_supplier(self, supplier_id, supplier_name, country,
certifications, audit_date=None):
"""Add supplier and track compliance"""
self.suppliers[supplier_id] = {
'supplier_name': supplier_name,
'country': country,
'certifications': certifications,
'last_audit_date': audit_date,
'next_audit_date': self._calculate_next_audit(audit_date),
'audit_frequency_days': 365,
'compliance_score': None,
'violations': []
}
def _calculate_next_audit(self, last_audit_date, frequency_days=365):
"""Calculate next audit date"""
if last_audit_date:
if isinstance(last_audit_date, str):
last_audit_date = datetime.strptime(last_audit_date, '%Y-%m-%d')
return last_audit_date + timedelta(days=frequency_days)
return None
def track_certification(self, entity_id, entity_type, cert_name,
cert_number, issue_date, expiry_date, status='Active'):
"""
Track certifications for products, suppliers, or facilities
entity_type: 'product', 'supplier', 'facility'
"""
self.certifications.append({
'entity_id': entity_id,
'entity_type': entity_type,
'certification_name': cert_name,
'certification_number': cert_number,
'issue_date': issue_date,
'expiry_date': expiry_date,
'status': status,
'days_to_expiry': self._calculate_days_to_expiry(expiry_date)
})
def _calculate_days_to_expiry(self, expiry_date):
"""Calculate days until certification expires"""
if isinstance(expiry_date, str):
expiry_date = datetime.strptime(expiry_date, '%Y-%m-%d')
today = datetime.now()
days = (expiry_date - today).days
return days
def get_expiring_certifications(self, days_threshold=90):
"""Get certifications expiring within threshold"""
expiring = []
for cert in self.certifications:
if cert['days_to_expiry'] <= days_threshold and cert['days_to_expiry'] >= 0:
urgency = 'Critical' if cert['days_to_expiry'] <= 30 else 'High' if cert['days_to_expiry'] <= 60 else 'Medium'
expiring.append({
'entity_id': cert['entity_id'],
'entity_type': cert['entity_type'],
'certification': cert['certification_name'],
'expiry_date': cert['expiry_date'],
'days_remaining': cert['days_to_expiry'],
'urgency': urgency
})
# Sort by days remaining
expiring.sort(key=lambda x: x['days_remaining'])
return pd.DataFrame(expiring) if expiring else pd.DataFrame()
def generate_compliance_dashboard(self):
"""Generate compliance dashboard metrics"""
# Product compliance
total_products = len(self.products)
compliant_products = sum(
1 for p in self.products.values()
if all(status == 'Compliant' for status in p['compliance_status'].values())
)
# Supplier compliance
total_suppliers = len(self.suppliers)
# Certifications
total_certs = len(self.certifications)
active_certs = sum(1 for c in self.certifications if c['status'] == 'Active')
expiring_soon = sum(1 for c in self.certifications if 0 <= c['days_to_expiry'] <= 90)
expired = sum(1 for c in self.certifications if c['days_to_expiry'] < 0)
return {
'products': {
'total': total_products,
'compliant': compliant_products,
'compliance_rate': round(compliant_products / total_products * 100, 1) if total_products > 0 else 0
},
'suppliers': {
'total': total_suppliers
},
'certifications': {
'total': total_certs,
'active': active_certs,
'expiring_soon_90_days': expiring_soon,
'expired': expired
},
'violations': {
'total': len(self.compliance_violations)
}
}
# Example usage
compliance_mgr = ComplianceManager()
# Add regulations
compliance_mgr.add_regulation(
'REG001',
'RoHS Directive (EU)',
region='European Union',
category='product_safety',
effective_date='2006-07-01'
)
compliance_mgr.add_regulation(
'REG002',
'REACH Regulation',
region='European Union',
category='product_safety',
effective_date='2007-06-01'
)
compliance_mgr.add_regulation(
'REG003',
'Export Administration Regulations',
region='United States',
category='trade',
effective_date='1979-03-30'
)
# Add products
compliance_mgr.add_product(
'PROD001',
'Electronic Widget',
hs_code='8543.70.9900',
materials=['plastic', 'copper', 'silicon'],
target_markets=['EU', 'US', 'CN'],
applicable_regulations=['REG001', 'REG002']
)
compliance_mgr.add_product(
'PROD002',
'Industrial Controller',
hs_code='8537.10.9000',
materials=['aluminum', 'steel', 'lead'], # Contains restricted substance
target_markets=['EU'],
applicable_regulations=['REG001']
)
# Assess product compliance
assessment1 = compliance_mgr.assess_product_compliance('PROD001')
print(f"Product: {assessment1['product_name']}")
print(f"Overall Status: {assessment1['overall_status']}")
print(f"Compliance Gaps: {len(assessment1['compliance_gaps'])}")
assessment2 = compliance_mgr.assess_product_compliance('PROD002')
print(f"\nProduct: {assessment2['product_name']}")
print(f"Overall Status: {assessment2['overall_status']}")
if assessment2['compliance_gaps']:
print("Gaps found:")
for gap in assessment2['compliance_gaps']:
print(f" - {gap['issue']} (Severity: {gap['severity']})")
# Add suppliers
compliance_mgr.add_supplier(
'SUP001',
'Acme Manufacturing',
country='China',
certifications=['ISO9001', 'ISO14001'],
audit_date='2025-06-15'
)
# Track certifications
compliance_mgr.track_certification(
'SUP001',
'supplier',
'ISO 9001:2015',
'ISO-9001-12345',
issue_date='2022-06-15',
expiry_date='2025-06-15',
status='Active'
)
compliance_mgr.track_certification(
'PROD001',
'product',
'CE Mark',
'CE-2024-0001',
issue_date='2024-01-10',
expiry_date='2026-03-15',
status='Active'
)
compliance_mgr.track_certification(
'PROD001',
'product',
'FCC Certification',
'FCC-ID-XYZ123',
issue_date='2024-02-01',
expiry_date='2026-02-20',
status='Active'
)
# Get expiring certifications
expiring = compliance_mgr.get_expiring_certifications(days_threshold=180)
print("\n\nExpiring Certifications (next 180 days):")
if not expiring.empty:
print(expiring[['certification', 'entity_id', 'days_remaining', 'urgency']])
else:
print("None")
# Dashboard
dashboard = compliance_mgr.generate_compliance_dashboard()
print("\n\nCompliance Dashboard:")
print(f"Products: {dashboard['products']['compliant']}/{dashboard['products']['total']} compliant ({dashboard['products']['compliance_rate']}%)")
print(f"Certifications: {dashboard['certifications']['active']} active, {dashboard['certifications']['expiring_soon_90_days']} expiring soon")
貿易コンプライアンス
HSコードの分類
class TradeComplianceManager:
"""Manage trade compliance including HS codes, duties, and regulations"""
def __init__(self):
self.hs_code_database = self._load_hs_codes()
self.duty_rates = {}
self.fta_eligibility = {}
def _load_hs_codes(self):
"""Load HS code database (simplified)"""
return {
'8543.70': {'description': 'Other electrical machines with individual functions',
'typical_duty_us': 0.028},
'8537.10': {'description': 'Control panels with voltage ≤1000V',
'typical_duty_us': 0.026},
'8471.30': {'description': 'Portable computers',
'typical_duty_us': 0.000}, # Duty-free under ITA
}
def classify_product(self, product_description, material_composition,
intended_use, suggested_hs_code=None):
"""
Assist with HS code classification
Returns classification with confidence level
"""
# In reality, this would use ML/NLP and extensive HS code database
# Simplified example
classification = {
'product_description': product_description,
'suggested_hs_code': suggested_hs_code,
'confidence': 'Medium',
'classification_rationale': [],
'requires_expert_review': False
}
# Check if suggested code is valid
if suggested_hs_code:
if suggested_hs_code[:7] in self.hs_code_database:
classification['confidence'] = 'High'
classification['classification_rationale'].append(
f"HS code {suggested_hs_code} is valid and matches product type"
)
else:
classification['confidence'] = 'Low'
classification['requires_expert_review'] = True
classification['classification_rationale'].append(
"Suggested HS code not found in database - expert review needed"
)
# Check for complex products
if len(material_composition) > 5:
classification['requires_expert_review'] = True
classification['classification_rationale'].append(
"Complex multi-material product - binding ruling recommended"
)
return classification
def calculate_landed_cost(self, product_cost, hs_code, origin_country,
dest_country, shipping_cost, insurance_cost=None):
"""
Calculate total landed cost including duties and fees
Simplified calculation
"""
# Insurance (if not provided, estimate as 1% of product cost)
if insurance_cost is None:
insurance_cost = product_cost * 0.01
# Customs value (FOB + freight + insurance)
customs_value = product_cost + shipping_cost + insurance_cost
# Get duty rate
hs_prefix = hs_code[:7]
duty_rate = self.hs_code_database.get(hs_prefix, {}).get('typical_duty_us', 0.05)
# Calculate duty
duty_amount = customs_value * duty_rate
# MPF (Merchandise Processing Fee) - US specific
mpf = customs_value * 0.003464
mpf = max(27.75, min(mpf, 538.40)) # MPF has min and max
# Harbor Maintenance Fee (if applicable) - 0.125% of cargo value
hmf = customs_value * 0.00125 if dest_country == 'US' else 0
# Total landed cost
total_landed_cost = customs_value + duty_amount + mpf + hmf
return {
'product_cost': round(product_cost, 2),
'shipping_cost': round(shipping_cost, 2),
'insurance_cost': round(insurance_cost, 2),
'customs_value': round(customs_value, 2),
'duty_rate': round(duty_rate * 100, 2),
'duty_amount': round(duty_amount, 2),
'mpf': round(mpf, 2),
'hmf': round(hmf, 2),
'total_landed_cost': round(total_landed_cost, 2),
'landed_cost_percentage': round(total_landed_cost / product_cost * 100, 1)
}
def check_fta_eligibility(self, hs_code, origin_country, dest_country):
"""
Check Free Trade Agreement eligibility
Simplified - in reality would check specific rules of origin
"""
# Example FTA relationships
fta_agreements = {
('US', 'MX'): 'USMCA',
('MX', 'US'): 'USMCA',
('US', 'CA'): 'USMCA',
('CA', 'US'): 'USMCA',
('US', 'SG'): 'US-Singapore FTA',
('SG', 'US'): 'US-Singapore FTA',
}
agreement = fta_agreements.get((origin_country, dest_country))
if agreement:
# Check rules of origin (simplified)
eligible = True # In reality, would check specific product rules
return {
'fta_eligible': eligible,
'agreement': agreement,
'duty_savings': 'Potentially duty-free' if eligible else 'N/A',
'documentation_required': ['Certificate of Origin', 'Importer Declaration'],
'origin_criteria': 'Must meet regional value content or tariff shift rules'
}
else:
return {
'fta_eligible': False,
'agreement': None,
'note': f'No FTA between {origin_country} and {dest_country}'
}
def screen_denied_parties(self, party_name, country):
"""
Screen against denied parties lists
In reality, would check against:
- OFAC SDN List
- BIS Denied Persons List
- EU Sanctions List
- UN Sanctions List
"""
# Simplified screening
# In production, integrate with compliance screening API
denied_parties_sample = ['ABC Corp', 'XYZ Ltd', 'Bad Actor Inc']
is_denied = party_name in denied_parties_sample
screening_result = {
'party_name': party_name,
'country': country,
'screening_status': 'DENIED' if is_denied else 'CLEAR',
'lists_checked': ['OFAC SDN', 'BIS Denied Persons', 'EU Sanctions'],
'screening_date': datetime.now().strftime('%Y-%m-%d'),
'matches_found': 1 if is_denied else 0
}
if is_denied:
screening_result['action_required'] = 'DO NOT TRANSACT - Escalate to Compliance Officer'
screening_result['severity'] = 'Critical'
return screening_result
# Example usage
trade_mgr = TradeComplianceManager()
# Classify product
classification = trade_mgr.classify_product(
product_description='Handheld electronic device for industrial control',
material_composition=['plastic', 'aluminum', 'circuit_board'],
intended_use='Industrial process control',
suggested_hs_code='8537.10.9000'
)
print("HS Code Classification:")
print(f" Suggested Code: {classification['suggested_hs_code']}")
print(f" Confidence: {classification['confidence']}")
print(f" Requires Expert Review: {classification['requires_expert_review']}")
# Calculate landed cost
landed_cost = trade_mgr.calculate_landed_cost(
product_cost=1000,
hs_code='8537.10.9000',
origin_country='CN',
dest_country='US',
shipping_cost=150,
insurance_cost=15
)
print(f"\n\nLanded Cost Calculation:")
print(f" Product Cost: ${landed_cost['product_cost']}")
print(f" Customs Value: ${landed_cost['customs_value']}")
print(f" Duty ({landed_cost['duty_rate']}%): ${landed_cost['duty_amount']}")
print(f" Total Landed Cost: ${landed_cost['total_landed_cost']}")
print(f" Total % of Product Cost: {landed_cost['landed_cost_percentage']}%")
# Check FTA eligibility
fta = trade_mgr.check_fta_eligibility(
hs_code='8537.10.9000',
origin_country='MX',
dest_country='US'
)
print(f"\n\nFTA Eligibility:")
print(f" Agreement: {fta.get('agreement', 'None')}")
print(f" Eligible: {fta['fta_eligible']}")
# Screen denied party
screening = trade_mgr.screen_denied_parties('ABC Corp', 'IR')
print(f"\n\nDenied Party Screening:")
print(f" Party: {screening['party_name']}")
print(f" Status: {screening['screening_status']}")
ツールとライブラリ
Pythonライブラリ
コンプライアンス管理:
pandas:データ管理numpy:数値計算sqlalchemy:データベース接続
文書管理:
PyPDF2:PDF処理python-docx:Word文書の処理openpyxl:Excelファイルの処理
データ検証:
cerberus:スキーマ検証pydantic:データ検証jsonschema:JSON検証
自動化:
schedule:スケジュール設定タスクAPScheduler:高度なスケジュール設定celery:分散タスクキュー
商用ソフトウェア
コンプライアンス管理:
- SAP GTS (Global Trade Services):貿易コンプライアンス
- Amber Road (E2open):グローバル貿易管理
- Descartes:税関とコンプライアンス
- BluJay Solutions:貿易コンプライアンス
- Integration Point:貿易コンプライアンスの自動化
製品コンプライアンス:
- Assent Compliance:サプライチェーンのコンプライアンス
- Coupa Supplier Compliance:サプライヤー管理
- EcoVadis:サステナビリティ評価
- Sphera:製品スチュワードシップ
規制インテリジェンス:
- UL Compliance:規制データベース
- Enhesa:グローバルな規制インテリジェンス
- Intertek Inlight:コンプライアンスインテリジェンス
- Verisk 3E:環境コンプライアンス
文書管理:
- Ivalua:サプライヤーコンプライアンス文書
- TraceLink:シリアル化とコンプライアンス
- MasterControl:文書管理システム
よくある課題と解決策
課題:規制変更への対応
問題:
- 規制は絶えず変化します
- 複数の法域への対応が必要です
- リソースに制約があります
解決策:
- 規制情報サービスを購読します
- 規制変更の自動アラートを設定します
- 業界団体や作業部会に参加します
- 専任のコンプライアンスチームまたは専門家を配置します
- 年間コンプライアンスカレンダーを作成します
- 規制変更による影響を評価します
課題:サプライヤーのコンプライアンス検証
問題:
- サプライヤーにコンプライアンスの知識が不足しています
- 書類の形式が統一されていません
- 主張の検証が困難です
解決策:
- サプライヤー向けコンプライアンス研修プログラムを実施します
- 標準化されたコンプライアンス質問票を使用します
- 第三者監査と認証を利用します
- サプライチェーンのトレーサビリティにブロックチェーンを活用します
- 契約でコンプライアンス要件を定めます
- リスクに基づいてサプライヤーを分類します
課題:複雑な製品コンプライアンス
問題:
- 製品には数百もの部品が含まれています
- 多層サプライチェーンの可視性が限られています
- 市場ごとに要件が異なり、相反することがあります
解決策:
- 部品表(BOM)管理システムを導入します
- 材料申告データベース(IMDS、BOMcheck)を利用します
- 製品ライフサイクル管理(PLM)と連携します
- 初期段階からコンプライアンスを考慮して設計します
- 規制対象物質リスト(RSL)を活用します
- 市場ごとに製品のバリエーションを用意します
課題:文書管理
問題:
- コンプライアンス関連文書の量が多くなります
- 認証の有効期限が切れます
- 監査証跡の要件があります
解決策:
- 文書管理システム(DMS)を導入します
- 有効期限の自動アラートを設定します
- デジタル文書ワークフローを活用します
- バージョン管理と監査ログを利用します
- コンプライアンス関連文書を一元管理します
- 更新時期が近づいた際の自動リマインダーを設定します
課題:複雑な貿易コンプライアンス
問題:
- 関税分類をめぐる紛争があります
- 原産地規則の判定が必要です
- 取引禁止対象者のスクリーニングが必要です
- 輸出管理要件への対応が必要です
解決策:
- 自動分類ツールを利用します
- 重要な製品について拘束力のある裁定を申請します
- 取引禁止対象者をリアルタイムでスクリーニングします
- 輸出許可管理システムを導入します
- FTAの適用資格を分析します
- 貿易コンプライアンス監査を実施します
課題:顧客へのコンプライアンスの証明
問題:
- 顧客による監査や質問票への対応が必要です
- 顧客ごとに要件が異なります
- デューデリジェンスの実施を証明する必要があります
解決策:
- 顧客向けのコンプライアンスポータルを一元化します
- 標準的なコンプライアンス証明書を用意します
- 第三者認証と監査を利用します
- 透明性を確保し、文書を整備します
- リアルタイムデータを表示するコンプライアンスダッシュボードを用意します
- コンプライアンス状況を積極的に報告します
出力形式
コンプライアンスレポート
エグゼクティブサマリー:
- 全体的なコンプライアンス状況
- 重大な不足事項および違反
- ビジネスに影響する規制の変更
- 必要な対応とスケジュール
規制コンプライアンス状況:
| 規制 | 地域 | カテゴリ | 状況 | 最終レビュー | 次回レビュー | 不足事項 |
|---|---|---|---|---|---|---|
| RoHS | EU | 製品安全 | 準拠 | 2025-11-15 | 2026-11-15 | なし |
| REACH | EU | 化学物質 | 一部準拠 | 2025-10-01 | 2026-04-01 | SVHC 2物質 |
| ITAR | US | 輸出管理 | 準拠 | 2025-09-20 | 2026-09-20 | なし |
| 紛争鉱物 | グローバル | 社会 | 進行中 | 2025-12-01 | 2026-12-01 | サプライヤーの申告待ち |
製品コンプライアンス:
| 製品 | 市場 | 規制 | 状況 | 認証 | 不足事項 |
|---|---|---|---|---|---|
| Widget A | EU, US | RoHS, FCC | 準拠 | CE, FCC | なし |
| Widget B | EU | RoHS, REACH | 非準拠 | CE(期限切れ) | 鉛含有、認証期限切れ |
| Controller X | US, CN | FCC, CCC | 一部準拠 | FCC | CCC の取得待ち |
サプライヤーコンプライアンス:
| サプライヤー | 国 | 認証 | 最終監査 | 次回監査 | スコア | 状況 |
|---|---|---|---|---|---|---|
| Supplier A | China | ISO9001, ISO14001 | 2025-06-15 | 2026-06-15 | 85/100 | ✓ 準拠 |
| Supplier B | Vietnam | ISO9001 | 2024-08-20 | 2025-08-20 | 72/100 | ⚠ 監査時期が近づいています |
| Supplier C | Mexico | なし | 未実施 | 未定 | 該当なし | ✗ 監査が必要 |
認証トラッカー:
| 対象 | 認証 | 番号 | 発行日 | 有効期限 | 期限までの日数 | 必要な対応 |
|---|---|---|---|---|---|---|
| Product A | CE マーク | CE-2024-001 | 2024-01-10 | 2026-03-15 | 445 | なし |
| Supplier X | ISO 9001 | ISO-12345 | 2022-06-15 | 2025-06-15 | 142 | 更新手続き中 |
| Facility 1 | EPA 許可 | EPA-XYZ-001 | 2023-01-01 | 2026-01-01 | 342 | なし |
対応項目:
| 優先度 | 対応 | 担当 | 期限 | 状況 |
|---|---|---|---|---|
| 重大 | Supplier X の ISO 9001 を更新する | 調達 | 2025-05-01 | 進行中 |
| 高 | 紛争鉱物に関する調査を完了する | サプライチェーン | 2026-01-31 | 未着手 |
| 高 | 鉛を除去するため Product B の配合を変更する | 研究開発 | 2026-03-31 | 計画中 |
| 中 | Supplier C の監査を実施する | 品質 | 2026-02-28 | 予定済み |
質問事項
さらに詳しい情報が必要な場合:
- 対象となる製品やサービスは何ですか?
- どの市場/地域で事業を展開していますか?
- 業界に適用される規制の枠組みは何ですか?
- 最近、コンプライアンス上の問題や違反はありましたか?
- 製品/サプライヤーに必要な認証は何ですか?
- サプライチェーンには、サプライヤーと国がそれぞれいくつありますか?
- 輸出入の量と対象国はどのくらいですか?
- 顧客固有のコンプライアンス要件はありますか?
- どのようなコンプライアンス管理システムが導入されていますか?
- コンプライアンスチームの構成とリソースはどのようになっていますか?
関連スキル
- supplier-risk-management:サプライヤーのコンプライアンスリスクの評価に使用します
- quality-management:品質基準と認証に関するスキルです
- sustainable-sourcing:環境および社会面のコンプライアンスに関するスキルです
- carbon-footprint-tracking:炭素排出量報告のコンプライアンスに関するスキルです
- contract-management:契約におけるコンプライアンス条項に関するスキルです
- procurement-optimization:調達にコンプライアンスを組み込むためのスキルです
- supplier-selection:サプライヤー評価におけるコンプライアンス基準に関するスキルです
- track-and-trace:サプライチェーンの透明性とトレーサビリティに関するスキルです
コメント
Markdown 対応