CFDI 데이터 추출:
멕시코 전자 세금 계산서 완벽 가이드
CFDI는 읽는 문서가 아니라, 정확히 해석해야 하는 세금 기록입니다. 2014년부터 SAT가 시행한 멕시코의 의무 전자 세금 계산서 시스템은 36자리 UUID, RFC 세금 ID, 과세 제도 코드, 그리고 거래 유형에 따라 하나 이상의 구조화된 보완 필드(실제 지급, 급여, 또는 세관 데이터 포함)가 포함된 XML 파일로 발행됩니다. 이를 스프레드시트로 추출하려면 사람이 읽기 쉽게 설계된 것이 아니라 실시간 정부 검증을 위해 설계된 문서 구조를 이해해야 합니다. 이 가이드는 6가지 CFDI 문서 유형, 보완 필드 시스템, 모든 추출 방법, 그리고 멕시코 팀이 이미 사용 중인 회계 소프트웨어와 출력 결과를 통합하는 방법까지 전체를 다룹니다.
CFDI가 다른 모든 인보이스와 다른 점
미국, 유럽 또는 아시아 공급업체로부터 처리한 모든 인보이스는 동일한 기본 패턴을 따릅니다. 공급업체가 문서를 발행하고, 귀하가 이를 수신하며, 인보이스 번호, 날짜, 금액, 세금 등의 데이터는 문서 자체에 포함됩니다. 문서가 진실의 원천입니다. CFDI는 이 모델을 완전히 뒤집습니다.
CFDI(Comprobante Fiscal Digital por Internet)는 법적 효력을 가지기 전에 정부 승인 PAC(Proveedor Autorizado de Certificación)의 검증과 스탬프를 받아야 하는 XML 문서입니다. 이를 승인 모델이라고 합니다. 발행자가 XML을 생성하여 PAC에 제출하면, PAC는 구조와 디지털 서명을 확인하고 timbre fiscal(디지털 스탬프)을 적용한 후 실시간으로 사본을 멕시코 세무 당국인 SAT에 전달합니다. 이 3자 핸드셰이크를 거친 후에야 인보이스가 법적 문서로 존재하게 됩니다. 이때 SAT가 할당한 UUID(Folio Fiscal)는 해당 거래를 모든 후속 감사, 지불 및 세금 신고에 연결하는 영구 식별자가 됩니다.
이는 처음으로 멕시코 공급업체를 처리하는 대부분의 AP 팀을 놀라게 하는 실질적인 결과를 초래합니다. XML 파일이 법적으로 유효한 인보이스입니다. 동일한 이메일에 첨부된 PDF는 장식용 출력물에 불과하며, 사람이 검토하는 데는 유용하지만 법적 효력은 없습니다. CFF 제30조에 따라 발행자와 수취인 모두 원본 CFDI XML을 최소 5년간 보관해야 합니다. XML을 폐기하고 PDF만 보관하면 SAT가 기록을 요청할 때 많은 팀이 발견하는 감사 위험이 발생합니다.
현재 버전인 CFDI 4.0은 2023년 4월부터 의무화되었습니다. 여기에는 더 엄격한 수취인 검증이 도입되었습니다. 수취인의 RFC, 법인명 및 세금 주소 우편번호가 SAT의 납세자 등록부와 정확히 일치해야 합니다. 버전 3.3 인보이스는 더 이상 허용되지 않습니다. CFDI 추출 워크플로우를 구축하는 모든 사람에게 이는 처리하는 모든 문서가 4.0 스키마를 따른다는 것을 의미합니다. 추출을 위한 일관된 대상이지만 이전 버전보다 더 많은 필수 필드를 포함합니다.
CFDI 추출의 핵심 문제는 데이터가 누락되었다는 것이 아닙니다. 데이터가 스프레드시트 소비가 아닌 정부 승인을 위해 설계된 형식으로 존재한다는 것이며, 이 둘 사이의 연결을 구축하는 것이 대부분의 팀이 어려움을 겪는 부분입니다.
6가지 CFDI 문서 유형 — 각각 언제 접하게 되는가
CFDI는 단일 문서 유형이 아닙니다. SAT는 6가지 고유한 comprobante 유형을 정의하며, 각각 고유한 스키마 규칙, 필수 필드 및 추출 요구 사항이 있습니다. 멕시코 공급업체가 몇 곳만 되어도 대부분의 유형을 접하게 됩니다.
| 유형 | 코드 | 발생 상황 | 추출 복잡도 |
|---|---|---|---|
| Ingreso | I | 표준 판매 송장 — 재화 또는 서비스 수익. 수신하는 모든 CFDI의 약 85%를 차지합니다. | 기본 스키마. IVA 내역, UsoCFDI 필수. |
| Egreso | E | 대변 메모, 환불, 할인 — 이전에 발행된 Ingreso 송장에 대한 차감. | 원본 UUID 참조 필수. 문서 간 매칭 필요. |
| Pago | P | 지급 영수증 — PPD 송장이 부분 또는 전액 결제될 때 발행됩니다. | 높음. 지급별 UUID 참조가 포함된 Complemento de Pago를 수반합니다. |
| Nómina | N | 급여 영수증 — 모든 직원 지급에 필수. SAT는 이를 통해 소득세 및 사회보장 기여금을 교차 검증합니다. | 높음. IMSS, INFONAVIT, SAR 및 기타 공제 유형이 포함된 50개 이상의 필드 보완 요소. |
| Traslado | T | 이전 문서 — 판매 없는 상품 이동(재고 이전, 위탁, Carta Porte). | 중간. 화물 이동 시 Carta Porte 보완 요소 필요. |
| Retenciones | R | 원천징수 문서 — 제3자 지급 시 원천징수된 세금(ISR, IVA)을 보고합니다. | 별도 XSD 사용. 기본 CFDI 스키마에 포함되지 않음. |
실제로 가장 많은 추출 마찰을 일으키는 유형은 Pago입니다. 공급업체가 PPD 지급 조건으로 청구서를 발행하면, 청구서 자체에는 라인 항목과 합계가 포함되지만 지급 세부 정보는 포함되지 않습니다. 구매자가 지급할 때마다 공급업체는 별도의 Pago CFDI를 발행하며, 여기에는 어떤 UUID가 얼마만큼, 언제, 어떤 방법으로 지급되었는지 명시하는 Complemento de Pago가 포함됩니다. 40개의 PPD 청구서를 처리하는 AP 팀은 60~80개의 CFDI를 조정해야 하며, 각각 Ingreso와 해당 지급 보완서 간의 UUID 상호 참조가 필요합니다.
핵심 필드, SAT 카탈로그, 그리고 스프레드시트에 미치는 영향
추출할 필드를 이해하는 것은 단순한 기술적 문제가 아닙니다. DIOT 신고, IVA 공제 조정, 감사 대응에 출력 결과를 사용할 수 있는지 여부를 결정합니다. CFDI의 모든 필드는 SAT 카탈로그 코드에 매핑되며, 동일한 필드라도 선택한 코드에 따라 세금 결과가 달라질 수 있습니다.
헤더 수준 필드 (Comprobante 노드)
| 필드 | XPath (간략) | 중요한 이유 |
|---|---|---|
| UUID (Folio Fiscal) | /cfdi:Comprobante/Complemento/TimbreFiscalDigital/UUID | 모든 거래의 기본 키. 결제 조정, 취소 추적 및 감사 추적에 사용됩니다. |
| RFC Emisor / Receptor | /cfdi:Comprobante/Emisor/@Rfc, /Receptor/@Rfc | 양 당사자의 납세자 번호. 한 글자만 틀려도 세금 공제 대상 비용이 무효화됩니다. |
| Régimen Fiscal (Emisor) | /cfdi:Comprobante/Emisor/@RegimenFiscal | 공급자에게 적용되는 세금 규칙 결정 — 개인 vs 법인, RESICO vs 일반 체계. |
| Fecha | /cfdi:Comprobante/@Fecha | 발행 시점의 ISO 8601 타임스탬프. SAT는 이를 과세 기간 할당에 사용합니다. |
| Serie + Folio | /cfdi:Comprobante/@Serie, @Folio | 공급업체의 내부 송장 번호 — 공급업체 명세서와 대조하는 데 유용합니다. |
| SubTotal / Total | /cfdi:Comprobante/@SubTotal, @Total | 세전 및 최종 금액. 총액은 소계 + 이전 IVA − 원천징수 IVA와 같아야 합니다. |
| Moneda + TipoCambio | /cfdi:Comprobante/@Moneda, @TipoCambio | 통화 코드(MXN, USD, EUR) 및 멕시코 페소가 아닌 경우 환율. |
| MétodoPago / FormaPago | /cfdi:Comprobante/@MetodoPago, @FormaPago | PUE(일시불) vs PPD(할부) — Complemento de Pago 필요 여부를 결정합니다. |
| UsoCFDI | /cfdi:Comprobante/@UsoCFDI | 수취인의 사용 코드 — G01(취득), G03(비용), D01(자동차), P01(PPD). IVA 공제 자격을 결정합니다. |
| Exportación | /cfdi:Comprobante/@Exportacion | CFDI 4.0 필수 필드. 01=국내, 02=확정 수출. DIOT 보고를 위해 송장을 분류합니다. |
세금 분류: IVA, 원천징수, IEPS
CFDI의 세금 구조는 개념(라인 항목) 수준 아래, 각 Concepto 내에 중첩되어 있습니다. 즉, IVA 세율과 금액은 청구서 수준 합계가 아닌 라인 항목별로 적용됩니다. 출력에 청구서당 단일 세금 라인이 필요한 경우 추출 시 이를 합산해야 하지만, 기본 데이터는 세분화되어 있습니다:
- IVA 16% — 대부분의 재화 및 용역에 적용되는 표준 세율입니다. 접경 지역(북부 및 남부 국경)은 특정 조건에서 8%의 감면 IVA 세율이 적용됩니다.
- IVA 0% — 수출(Exportación=02/03) 및 특정 기초 식품, 의약품, 농업 자재에 적용됩니다.
- IVA 원천징수 — 수취인은 IVA의 2/3를 원천징수하여 SAT에 직접 납부해야 할 수 있습니다. CFDI에는
ImpuestosTrasladados(공급업체가 청구한 IVA)와ImpuestosRetenidos(구매자가 원천징수한 IVA)가 모두 표시됩니다. - ISR 원천징수 — 개인이 제공하는 용역의 경우 10%, 일반 과세 대상 구매의 경우 1.67%, 이자 지급의 경우 20%가 원천징수됩니다. 이는 월별 DIOT에 보고되어야 합니다.
- IEPS — 주류, 담배, 휘발유, 당류 음료 등 특정 재화에 대한 소비세입니다. 각 제품 카테고리는 다른 IEPS 세율(3%~160%)에 매핑됩니다.
추출의 핵심은 하나의 CFDI가 여러 라인 항목에 걸쳐 다양한 세금 조합을 포함할 수 있다는 점입니다. 표준 재화(IVA 16%)와 IEPS 대상 제품을 모두 판매하는 유통업체의 단일 청구서에는 16%, 16%+IEPS, 잠재적으로 0%의 항목이 포함될 수 있습니다. 추출 출력은 라인 수준의 세금 세부 정보를 유지하거나 세율별로 올바르게 집계해야 합니다.
컴플레멘토 레이어: 대부분의 추출 가이드가 멈추는 곳
컴플레멘토(Complemento)는 특정 거래 유형에 대해 기본 CFDI 스키마를 확장하는 구조화된 XML 부록입니다. 기본 CFDI는 인보이스 헤더와 라인 항목을 다룹니다. 그 외의 모든 것(결제 세부정보, 급여 내역, 세관 데이터, 운송 정보)은 컴플레멘토에 포함됩니다. 멕시코 인보이스를 처리하는 AP 팀에게 가장 중요한 컴플레멘토는 세 가지입니다.
결제 컴플레멘토 (Complemento de Pago)
모든 Pago CFDI에 첨부되는 이 컴플레멘토는 실제 멕시코 AP 환경에서 추출 복잡성의 가장 큰 원인입니다. 공급업체가 PPD 조건(MétodoPago=PPD)으로 인보이스를 발행하면 원래 Ingreso 인보이스에는 결제 데이터가 포함되지 않습니다. 구매자가 전액, 일부 또는 연기된 조건으로 결제할 때마다 공급업체는 Pago CFDI를 발행하며, 해당 CFDI의 결제 컴플레멘토에는 다음이 기록됩니다:
- 결제 대상인 원본 Ingreso 인보이스의 UUID
- 해당 UUID에 적용된 결제 금액
- 결제일 및 결제 방법(송금, 수표, 현금, 카드)
- 결제 시점의 통화 및 환율(원본 인보이스가 USD인 경우 중요)
- 이번 결제 후 미결제 잔액(saldo insoluto)
하나의 Ingreso 인보이스는 여러 Pago CFDI로 결제될 수 있으며, 각각 동일한 UUID를 참조하지만 결제 금액은 다릅니다. 추출의 어려움은 기술적인 문제(UUID는 항상 존재함)가 아니라 절차적인 문제입니다. 대부분의 AP 팀은 결제 컴플레멘토를 전혀 추출하지 않아 결제 데이터가 원본 인보이스와 연결되지 않은 별도 문서로 남게 됩니다.
인보이스 헤더에서 멈추고 컴플레멘토를 건드리지 않는 CFDI 라인 항목 추출은 AP 팀이 실제로 필요한 데이터의 약 60%만 캡처합니다.
급여 컴플레멘토 (Complemento de Nómina)
멕시코 고용주는 모든 직원 급여 지급(급여, 보너스, 수수료, 휴가 수당, 퇴직금, 크리스마스 보너스(aguinaldo))에 대해 Nómina CFDI를 발행해야 합니다. 급여 컴플레멘토는 CFDI 시스템에서 가장 필드가 많은 문서 중 하나로, 50개 이상의 구조화된 필드를 포함합니다:
- 직원 CURP 및 IMSS 사회보장번호
- 기본 급여 및 일일 급여(Salario Base de Cotización)
- 유형 코드별로 분류된 일반 소득(percepciones) — Sueldos, Aguinaldo, Prima Vacacional, PTU
- 공제 항목(deducciones) — 원천징수 ISR, IMSS 기여금, INFONAVIT 대출 상환, SAR/Afore, 연금 대출
- 시간 유형 및 백분율이 포함된 초과 근무 시간(Horas Extra)
- 총 순 지급액
다중 법인 고용주의 경우 급여 추출은 급여 주기당 수백 개의 Nómina CFDI를 처리하는 것을 의미합니다. 각 직원은 지급당 하나의 CFDI를 생성하며, 각각의 컴플레멘토 필드를 HR 또는 급여 보고 스프레드시트로 평면화해야 합니다.
해외 무역 보완서 (Foreign Trade Complement)
Exportación=02(A1 세관 키를 사용한 확정 수출) 또는 Exportación=03(A2 키를 사용한 확정 수출)인 경우 필수입니다. 이 보완서는 국경 간 거래에 대한 세관 측 데이터를 전달합니다:
- Pedimento 번호(세관 신고 ID)
- 수출업체 RFC 및 전체 주소
- 수취인의 해외 세금 ID
- INCOTERM 코드
- 라인별 세부 정보: 관세 분류 번호(fracción arancelaria), 세관 측정 단위, 상품의 USD 가치
- 원산지 및 목적지 국가
이 보완서의 버전 2.0은 2024년 1월부터 CFDI 4.0에 통합되었습니다. 멕시코에서 상품을 수출하는 기업의 경우, 기본 CFDI 필드와 해외 무역 보완서 데이터를 모두 캡처하는 추출은 운송 송장을 세관 신고서와 조정하는 데 필수적입니다.
PAC별 PDF 레이아웃이 다른 이유
모든 CFDI는 동일한 XML 스키마(Anexo 20 버전 4.0, SAT 게시 XSD에 정의됨)에서 시작됩니다. XML은 어떤 PAC가 스탬프를 찍든 일관됩니다. 하지만 대부분의 AP 팀이 실제로 보는 PDF 표현은 각 PAC가 XML을 시각적 형식으로 렌더링하는 방식에 전적으로 달려 있습니다.
실제로 Finkok이 스탬프한 CFDI PDF는 SW sapien, Digifact, FacturAPI 또는 SAT의 자체 무료 도구가 스탬프한 것과 다른 시각적 순서로 필드를 배열합니다. 데이터는 동일하지만 레이아웃은 다릅니다. 고정 위치 추출 영역에 의존하는 템플릿 기반 OCR 도구의 경우 각 PAC 레이아웃마다 별도의 템플릿이 필요합니다. 총 8개의 다른 PAC를 사용하는 20개 공급업체로부터 송장을 받는 기업은 8개의 추출 템플릿이 필요하며, 아직 구성하지 않은 9번째 PAC의 송장은 놓치게 됩니다.
바로 여기서 의미론적 추출 — 각 필드가 어디에 있는지가 아니라 무엇을 의미하는지 이해하여 문서를 읽는 AI — 이 CFDI 처리의 경제성을 바꿉니다. UUID와 RFC의 차이를 아는 의미론적 추출 도구는 PAC가 필드를 상단, 왼쪽, 오른쪽, 하단 또는 테두리 상자 안에 배치했든 관계없이 페이지 어디에서나 두 필드를 모두 찾을 수 있습니다. PAC의 레이아웃은 무의미해지며, 단일 추출 구성으로 포트폴리오의 모든 공급업체와 모든 PAC를 처리할 수 있습니다.
추출 방식 비교: CFDI 워크플로에 적합한 접근법은?
팀마다 문서 볼륨, 형식 혼합, 기술 역량, 예산에 따라 CFDI 추출 방식을 다르게 선택합니다. 아래 표는 멕시코 송장 처리에 중요한 기준에 따라 네 가지 주요 방식을 비교합니다.
| 항목 | 수동 데이터 입력 | XML 파싱(스크립트) | 템플릿 OCR | AI 의미 추출 |
|---|---|---|---|---|
| 설정 시간 | 없음 | 1~3일 (스크립트 작성, 테스트) | PAC 레이아웃당 1~2시간 | 약 15분 |
| 모든 PAC 레이아웃 지원 | 예 (육안 확인) | 해당 없음 (XML 기반) | 아니요 — 레이아웃별 템플릿 필요 | 예 — 레이아웃 무관 |
| 스캔/사진 문서 지원 | 예 | 아니요 | 부분적 — 품질 저하 시 성능 저하 | 예 |
| 보충 문서 지원 | 사용자가 확인할 경우 가능 | 예 (스크립트 작성 시) | 아니요 — PDF에 보충 문서 없음 | 예 — 두 출처 모두 처리 가능 시 |
| CFDI 50건 처리 시간 | 약 3~4시간 | 약 2분 (일괄 처리) | 약 15분 + 수정 시간 | 약 2~5분 |
| 오류율 (필드 수준) | 약 3~5% (오타, 전위 오류) | 약 1% (스키마 불일치) | 약 8~15% (레이아웃 불일치) | 약 1~3% |
| 필요 기술 수준 | 없음 | Python/XPath/XML | 중간 (영역 설정) | 없음 |
| 월 500건 이상 확장성 | ❌ | ✅ | ⚠️ | ✅ |
XML 파싱과 AI 의미 추출 중 선택은 항상 명확하지 않습니다. 모든 공급업체가 원시 CFDI XML을 보내고 팀에 스크립팅 역량이 있다면, Python의 XPath 또는 lxml 같은 라이브러리를 사용한 XML 파싱이 구조화된 데이터에서 깔끔하고 직접적인 필드 추출을 제공합니다. 단, XML 파싱은 스캔된 송장을 읽을 수 없고, XML이 첨부되지 않은 경우 PDF 시각적 표현을 해석할 수 없으며, SAT가 스키마를 업데이트할 때(3.3→4.0 마이그레이션처럼) 적극적인 유지보수가 필요합니다.
반면 AI 의미 추출은 PDF, 스캔 이미지, 휴대폰 사진 등 모든 시각적 문서에서 작동하며 구조화된 XML 입력이 필요하지 않습니다. 수천 개의 송장 레이아웃으로 학습된 최신 비전 모델은 문서 내 위치와 관계없이 레이블 의미를 이해하여 UUID, RFC, IVA 필드를 찾을 수 있습니다. PDF 첨부 파일(XML 없음)과 스캔 문서가 혼합된 팀에게는 이것이 유일한 확장 가능한 옵션입니다.
파일은 안전하게 처리되며 저장되지 않습니다. 실제 CFDI PDF 또는 XML로 테스트해보세요.
AI 추출이 CFDI 문서를 처리하는 방법 — 세 가지 형식 모두
대부분의 AP 팀이 직면하는 가장 현실적인 시나리오는 서로 다른 PAC를 사용하는 공급업체들로부터 XML 파일, PDF 첨부 파일, 스캔 문서가 혼합된 형태로 수신된다는 점입니다. 각 형식별로 별도의 워크플로를 구축하면 유지보수 오버헤드와 처리 공백이 발생합니다. 세 가지 형식을 모두 단일 필드 정의로 입력 소스로 처리하는 AI 추출 접근 방식은 이를 획기적으로 단순화합니다.
ImageToTable.ai는 사용자 정의 열 추출 패러다임을 통해 CFDI 추출을 처리합니다. 출력에 원하는 열을 정의하면 AI가 페이지상의 위치가 아닌 필드의 의미를 이해하여 각 값을 찾습니다. CFDI의 워크플로는 다음과 같습니다:
UUID (Folio Fiscal), RFC Emisor, RFC Receptor, SubTotal, IVA Tasa, IVA Monto, Total, UsoCFDI, MétodoPago, Moneda. PPD 인보이스의 경우 UUID Pagado 및 Monto del Pago를 추가하여 Complemento de Pago 필드를 캡처합니다.이 접근 방식은 PAC 레이아웃 문제를 자동으로 해결합니다. AI는 필드의 고정된 위치에 의존하지 않으므로 Finkok(두 번째 페이지 오른쪽 상단에 UUID 표시)과 FacturAPI(왼쪽 하단 바닥글에 UUID 표시)에서 렌더링된 CFDI 모두 동일한 구조화된 출력을 생성합니다.
특히 보완 추출의 경우, XML 파일을 직접 처리할 때 AI는 계층 구조를 탐색할 수 있습니다. Pago CFDI의 /Complemento/Pagos 노드에서 참조된 UUID, 결제 금액 및 날짜를 추출합니다. 동일한 Pago CFDI의 PDF 표현의 경우 AI는 PAC가 시각적 문서에 표시하기로 선택한 위치에서 보완 필드를 읽습니다.
멕시코 회계 소프트웨어와 CFDI 데이터 통합
추출된 CFDI 데이터는 회계팀이 실제로 사용하는 시스템에 도달해야만 의미가 있습니다. 멕시코의 회계 소프트웨어 생태계는 미국이나 유럽과 크게 다릅니다 — 현지 업체가 지배적이며, 각 소프트웨어는 특정 데이터 가져오기 형식을 요구합니다.
CONTPAQi
CONTPAQi는 멕시코에서 가장 널리 사용되는 회계 및 경영 관리 제품군으로, 회계(Contabilidad), 전자 청구(Factura Electrónica), 급여(Nóminas), 상업 운영(Comercial)을 포함합니다. CONTPAQi는 검증을 위해 CFDI XML을 기본적으로 가져오지만, 대량 데이터 분석(공급업체 청구서 200건을 예산 코드와 대사, UsoCFDI 범주별 지출 보고서 작성, DIOT 입력 준비)을 위해서는 CONTPAQi의 계정과목표에 매핑되는 Excel 형식의 데이터가 필요합니다. 추출된 RFC, UUID, IVA 금액 열은 일괄 분개장으로 가져올 때 CONTPAQi의 보조 계정(auxiliar de cuentas)을 직접 채웁니다.
Aspel SAE / COI / NOI
Aspel은 멕시코 중소기업에서 두 번째로 흔한 회계 플랫폼으로, SAE(관리), COI(회계), NOI(급여) 모듈로 구성됩니다. CONTPAQi와 마찬가지로 Aspel은 개별 청구서 검증을 위해 CFDI XML을 처리할 수 있지만, 보고 기능은 Aspel의 가져오기 템플릿과 일치하는 Excel 테이블로 사전 편집된 일괄 CFDI 데이터에 가장 적합합니다. 멕시코 회계사들 사이에서는 청구서당 한 행, RFC, UUID, folio, IVA 세율, 원천징수(retain) 열로 구성된 보조 CFDI 등록부를 Excel로 유지 관리하고 Aspel 원장과 월별 대사하는 것이 일반적인 관행입니다. 자동 추출은 이 보조 등록부를 수동 입력 작업에서 직접 내보내기로 전환합니다.
SAP 및 Oracle NetSuite
멕시코에서 운영되는 대기업은 일반적으로 CFDI 규정 준수를 위한 현지화 기능이 포함된 SAP 또는 Oracle NetSuite를 사용합니다. 이러한 시스템은 내장된 CFDI 모듈을 통해 XML 검증 및 PAC 제출을 자동으로 처리합니다. 그러나 과제는 규정 준수에서 대사로 전환됩니다. 조달 및 미지급금 팀은 추출된 CFDI 데이터를 구매 주문, 입고 전표, 공급업체 계약 조건과 일치시켜야 합니다. UUID, RFC, 품목별 제품 코드(c_ClaveProdServ), 세금 내역이 포함된 구조화된 행으로 CFDI 데이터를 출력하는 AI 추출 워크플로우는 SAP의 MIRO(물류 청구서 검증) 또는 NetSuite의 AP 일괄 가져오기 프로세스에 직접 공급됩니다.
자주 묻는 질문
AI가 CFDI XML 파일에서 데이터를 추출할 수 있나요?
네. 최신 AI 추출 도구는 CFDI XML 파일을 직접 파싱하여 Anexo 20 스키마의 구조화된 필드를 읽을 수 있습니다. 모든 필드에 XPath 쿼리가 필요한 순수 XML 파싱 스크립트와 달리, AI 기반 추출은 스키마 변형을 처리하고 XML, PDF, 스캔 이미지 등 어떤 출처든 사용자가 정의한 동일한 열 구조로 데이터를 출력할 수 있습니다. 이는 일부 공급업체는 XML 첨부 파일을 보내고 다른 업체는 PDF를 보내는 혼합 배치에서 특히 유용합니다.
DIOT 신고를 위해 CFDI에서 추출해야 할 필드는 무엇인가요?
월별 DIOT(제3자 거래 정보 신고)를 위해서는 최소한 다음이 필요합니다: 공급업체 RFC, UUID, SubTotal, IVA(세율별 구분 — 16%, 8%, 0%), 원천징수 IVA, 원천징수 ISR, UsoCFDI. DIOT는 IVA를 세율 수준으로 보고해야 하므로, 추출 결과는 단일 총액이 아닌 세율 코드별로 IVA를 분리해야 합니다. Exportación 필드는 거래가 국내인지 수출인지 결정하며, DIOT는 이 범주를 구분합니다.
PDF만 있을 때 PPD 청구서는 어떻게 처리하나요?
원본 Ingreso CFDI가 PPD로 발행되었고 PDF만 있는 경우, 청구서 데이터(항목, 합계, IVA)는 PDF에서 읽을 수 있지만 지불 세부 정보는 별도로 발행된 Pago CFDI에 있으므로 읽을 수 없습니다. 지불 조정을 완료하려면 원본 XML 파일이나 Pago CFDI PDF가 필요합니다. PDF 청구서와 Pago CFDI 문서를 모두 처리하는 AI 추출 도구는 Complemento de Pago 필드용 열을 포함하는 경우 한 단계로 지불 UUID 상호 참조를 출력할 수 있습니다.
CFDI 추출이 다양한 PAC PDF 레이아웃을 자동으로 처리하나요?
템플릿 기반 OCR 도구는 각 PAC 레이아웃에 대해 별도의 템플릿이 필요합니다. Finkok, SW sapien, Digifact, FacturAPI, SAT의 무료 도구는 모두 동일한 XML 데이터에서 시각적으로 다른 PDF를 생성합니다. 필드 위치가 아닌 필드 의미를 이해하여 문서를 읽는 AI 의미 추출 도구는 PAC별 구성 없이 모든 PAC 레이아웃을 자동으로 처리합니다. Finkok 스탬프가 찍힌 CFDI에서 작동하는 동일한 추출 구성이 다른 PAC에서 스탬프가 찍힌 CFDI에서도 작동합니다.
PDF 표현이 추출 목적으로 법적으로 유효한가요?
AP 워크플로우 및 조정 목적으로 PDF에서 데이터를 추출하는 것은 운영상 충분합니다. PDF에는 XML과 동일한 송장 데이터가 포함되어 있습니다. 그러나 멕시코 세법(CFF 제30조)에 따라 XML만이 유일하게 법적으로 유효한 문서입니다. 감사 보존을 위해 일상적인 데이터 추출에 어떤 형식을 사용하든 원본 XML 파일을 보존해야 합니다. 실용적인 워크플로우는 수신한 형식(가장 일반적인 PDF)에서 추출하되, NOM-151-SCFI-2016에 따른 의무 5년 보존 기간 동안 XML을 구조화된 저장소에 보관하는 것입니다.
동일한 도구로 Nómina(급여) CFDI에서 데이터를 추출할 수 있나요?
네, 추출 도구가 급여 문서에 표시된 내용과 일치하는 필드 수준의 열 이름 지정을 지원하는 경우 가능합니다. Complemento de Nómina에는 총 수당, 총 공제, 원천징수 ISR, IMSS, INFONAVIT, 개별 소득 및 공제 유형 코드 등 50개 이상의 필드가 포함되어 있습니다. 문서를 의미적으로 읽는 AI 도구는 필요한 급여 데이터 포인트에 따라 열 이름을 지정하면 이러한 필드를 추출할 수 있습니다. 그러나 인쇄된 Nómina PDF의 정확도가 손으로 쓴 급여 기록보다 높으며, Nómina 보완 요소의 계층 구조로 인해 Percepciones/Percepcion/TipoPercepcion과 같이 깊게 중첩된 필드의 경우 XML 버전이 시각적 PDF 버전보다 일반적으로 더 신뢰할 수 있는 결과를 제공합니다.
CFDI가 취소되면 어떻게 되나요? 다시 추출해야 하나요?
CFDI 취소는 수신자 동의 모델을 따릅니다. 공급업체가 송장을 취소(사유 코드 01~04)하면 수신자는 72시간 이내에 취소를 수락하거나 거부해야 합니다. 수락되면 원본 CFDI는 무효화되고, 대체 문서가 발행된 경우(사유 코드 01) 새 UUID가 할당됩니다. 추출 워크플로우는 이 라이프사이클을 처리해야 합니다. 취소된 UUID를 데이터베이스에 플래그 지정하고 대체 문서를 가져오거나, SAT의 취소 피드를 확인할 때 업데이트되는 "CFDI 상태" 열(활성/취소됨)을 유지하는 방식입니다. 처리 이력을 유지하는 자동화된 추출 도구는 대체 CFDI를 다시 수집하고 원본을 대체된 것으로 플래그 지정할 수 있지만, 이를 위해서는 원본 XML 또는 이전에 추출된 UUID의 영구 데이터베이스가 필요합니다.
출력물에서 Complemento de Pago 필드는 어떻게 처리하나요?
Complemento de Pago 필드(참조 UUID, 결제 금액, 결제일, 미결제 잔액)는 Ingreso 송장 데이터가 포함된 동일한 스프레드시트에 추출해야 합니다. 권장 방법은 이를 배치 출력의 추가 열로 포함하는 것입니다. PPD 송장의 경우 추출 시 기본 송장 데이터와 Pago CFDI의 결제 필드가 모두 반환됩니다. 그런 다음 VLOOKUP(또는 이에 상응하는 함수)을 사용하여 Pago UUID 참조를 원본 Ingreso UUID와 매칭하여 완전히 정산된 송장과 미결제 송장을 확인할 수 있습니다. 이렇게 하면 월별 CFDI 조정에서 가장 많은 시간이 소요되는 수동 교차 참조 단계가 제거됩니다.
"CFDI 문서가 있다"와 "회계 시스템에 데이터가 있다" 사이의 간극은 기술적 격차가 아닌 형식 변환의 격차입니다. 올바른 추출 워크플로우는 이 격차를 몇 시간이 아닌 몇 분 만에 해소합니다.
CFDI 데이터 추출은 근본적으로 어렵지 않습니다. XML은 구조화되어 있고, PDF는 동일한 데이터를 담고 있으며, complementos는 SAT가 공개한 XSD에 문서화되어 있습니다. 실제로 어려운 점은 다양한 형식, PAC 레이아웃의 가변성, 세금 및 complemento 데이터의 계층적 중첩, 그리고 대부분의 추출 워크플로우가 매번 동일하게 보이는 평면적 위치 기반 문서용으로 설계되었다는 사실입니다. 각 필드가 어디에 있는지가 아니라 무엇인지 이해하여 문서를 읽는 의미론적 접근 방식은 단일 필드 정의만으로 이러한 모든 복잡성을 처리합니다. 열을 정의하면 AI가 데이터를 찾습니다. 형식은 더 이상 중요하지 않습니다.
현재 멕시코 공급업체 송장을 처리하면서 데이터를 사용하는 것보다 문서 간에 데이터를 옮기는 데 더 많은 시간을 보내고 있다면, 다음 단계는 간단합니다. 보유한 형식의 CFDI 파일 10~20개로 샘플 배치를 만들어 AI 추출 워크플로우에 실행해 보십시오. "문서가 있다"와 "스프레드시트에 데이터가 있다" 사이의 간극은 수동 프로세스가 느끼게 하는 것보다 훨씬 작습니다.
이 글은 ImageToTable.ai의 송장 데이터 추출 가이드 시리즈의 일부입니다. 더 넓은 개요는 송장 데이터 추출이란? 및 OCR이란?을 참조하세요. CFDI 초보자용 소개는 CFDI란?을 읽어보세요. 각 CFDI 형식을 다루는 실용적인 단계별 추출 튜토리얼은 멕시코 CFDI 송장 데이터를 Excel로 추출하기를 참조하세요. CFDI 처리가 기존 AP 워크플로우를 어렵게 만드는 이유에 대한 심층 분석은 멕시코 CFDI 송장 처리가 대부분의 팀 예상보다 어려운 이유를 읽어보세요.