연간 80,000라인, 단일 스프레드시트
다년도 분석을 위한 SPED 레이아웃 파일 일괄 처리 방법
중견 브라질 기업은 연간 약 80,000~150,000라인의 디지털 회계 장부(ECD) 데이터를 제출합니다. 3년 비교 기간을 살펴보면, 3개의 개별 텍스트 파일에 파이프로 구분된 Registro 코드가 25만 라인에 달합니다. 각 파일은 사람이 분석하기 위한 것이 아니라 Receita Federal의 기계 검증을 위해 구조화되어 있습니다. 모든 라인은 필요할 수 있는 레코드입니다. 하지만 여러 연도에 걸쳐 특정 계정을 추출하려면 각 파일을 열고, Registro 코드로 필터링하고, 열을 수동으로 정렬한 후, 결과를 새 스프레드시트에 연결해야 합니다. 누군가 다년도 질문을 할 때마다 이 작업이 반복됩니다.
이 글은 대안적인 접근 방식에 관한 것입니다: 여러 연도의 SPED 파일을 단일 배치로 처리하고, 출력 열을 한 번만 정의한 다음, 소스 데이터가 두 개의 ECD 파일, 하나의 ECF 파일, 또는 서로 다른 Leiaute 버전의 세 과세 연도에 걸쳐 있더라도 필요한 데이터만 분석 준비가 완료된 하나의 테이블로 추출하는 방법입니다. 이 접근 방식은 모든 Registro 유형에 대한 파서를 필요로 하지 않습니다. 연도, 레이아웃 버전, 그리고 ECD↔ECF 경계를 넘어 작동합니다.
"한 번에 하나의 파일 열기"가 연도 간 분석에 적합하지 않은 이유
공공 디지털 회계 시스템(Sistema Público de Escrituração Digital, SPED)은 Receita Federal이 회계 기록을 수신하기 위한 단일하고 표준화된 파이프라인을 제공하기 위해 설계되었습니다. 그 목적은 달성했습니다. 그러나 SPED가 제공하지 않는 것은 한 연도의 데이터를 다른 연도의 데이터와 비교할 수 있는 내장 메커니즘입니다. 각 회계연도는 자체 ECD 파일과 자체 디지털 세무 회계(Escrituração Contábil Fiscal, ECF) 파일을 생성합니다. Programas Validadores e Assinadores(PVA)는 개별 파일을 검증하고 전송합니다. 두 파일을 나란히 열어 보지는 않습니다.
이는 모든 연도 간 분석이 동일한 수동 순서를 따르게 함을 의미합니다: PVA에서 1년차 ECD 내보내기, 2년차 ECD 내보내기, 각각을 Excel에서 텍스트 가져오기 마법사로 열고, 관련 Registro 코드로 필터링하고, 열 레이블을 다시 지정하고, 처음부터 비교 테이블을 만든 다음, ECF의 세무 조정 데이터에 대해 이 과정을 반복합니다. 이 작업이 기술적으로 어려운 것은 아닙니다. 기계적으로 반복적이고 오류가 발생하기 쉬우며 매번 몇 시간이 소요됩니다.
두 가지 세무 체계에 걸쳐 3년치 ECD 데이터를 처리하는 회계 팀은 단일 분석 질문에 대한 입력 데이터를 준비하는 데만 하루 종일을 쉽게 소비할 수 있습니다.
연도 간 SPED 분석에 실제로 필요한 것
재무 책임자나 세무 관리자가 다년간 비교를 요청할 때, 일반적으로 다음 보기 중 하나를 원합니다:
"지난 3년간 모든 계정의 기초 잔액, 기말 잔액, 순 변동을 나란히 보여주세요."
이를 위해서는 각 연도 ECD에서 C155 Registro를 추출하고, C050 계정과목표의 계정 코드를 정렬한 후, 각 행이 참조 계정과목표(Plano de Contas Referencial) 코드이고 각 연도의 잔액이 인접 열에 표시되는 가로 비교 테이블을 구축해야 합니다.
"e-Lalur에서 연도별로 크게 변한 영구적 차이는 무엇인가요?"
이는 각 연도 ECF에서 M300 Registro를 추출하고, 조정 유형별로 필터링한 후, 연간 값을 나란히 비교하는 것을 의미합니다. 특정 조정 유형에서 30%의 변동은 사업 변화나 분류 오류를 조사해야 한다는 신호입니다.
"3년간 유효 세율이 어떻게 변했으며, 어떤 조정이 그 변동을 주도했나요?"
이를 위해서는 여러 연도에 걸쳐 ECD 데이터와 ECF 데이터를 결합해야 합니다. 즉, 두 가지 다른 파일 유형, 두 가지 다른 Registro 구조, 하나의 분석 질문입니다.
공통점: 모든 질문은 여러 파일, 여러 Registro 유형, 여러 연도에 걸쳐 있습니다. 병목 현상은 데이터가 존재하는지 여부가 아닙니다. 데이터는 매우 상세하게 존재합니다. 병목 현상은 SPED 생태계의 파일 중심 레이아웃에서 질문 중심 레이아웃으로 데이터를 재구성하는 데 있습니다.
일괄 처리 전략: 파일 형식이 아닌 출력 열을 기준으로 생각하세요
SPED 파일을 일괄 처리할 때 핵심 통찰은 Registro 구조가 — 난해하지만 — 내부적으로 일관성이 있다는 것입니다. 작년 시산표를 담았던 동일한 C155 Registro 레이아웃이 올해의 것도 담습니다. 작년 영구적 차이를 설명했던 동일한 M300 필드가 올해의 것도 설명합니다. 레이아웃 변경은 드물고 필드 수준에서 이루어지며, Registro 유형과 그것이 나타내는 회계 개념 간의 근본적인 관계를 바꾸지 않습니다.
이러한 일관성은 출력 구조를 한 번 정의하고 여러 연도에 걸쳐 적용할 수 있음을 의미합니다. "2024년 ECD를 열고, C155를 필터링하고, 필드를 매핑한 다음, 2025년에 대해 반복해야 한다"고 생각하는 대신, "2024년과 2025년의 계정 잔액을 나란히 확인해야 한다"고 생각하고 — 추출 계층이 파일별 재구성을 처리하도록 하면 됩니다.
맞춤 열 추출은 정확히 이 시나리오를 위해 설계되었습니다. "계정 코드", "계정 이름", "기초 잔액", "기말 잔액"과 같이 원하는 열 이름을 지정하면, AI가 SPED 파일을 읽고 어느 연도 파일을 가리키든 관계없이 관련 Registro 레코드에서 해당 값을 찾아 추출합니다. 2023년 ECD에서 깔끔한 시산표를 생성한 동일한 열 정의가 2024년 및 2025년 ECD 파일에서도 동일한 구조를 생성합니다. 이는 Registro C155와 "시산표" 개념 간의 의미적 관계가 연도 간에 변하지 않았기 때문입니다.
실제 효과: 3년 치 ECD 데이터를 처리하려면 열을 한 번만 정의하면 되고 세 번 정의할 필요가 없습니다. 작업이 "150,000줄을 세 번 필터링하고 정렬하는 것"에서 "하나의 열 정의로 세 개의 파일을 가리키는 것"으로 바뀝니다.
단계별 가이드: 여러 연도 ECD 데이터를 일괄 처리하여 연도 간 시산표 만들기
다음은 2~3년 치 ECD 파일을 연도별 계정 비교표로 전환하는 워크플로우입니다. 동일한 논리가 ECF 데이터 또는 ECD+ECF 혼합 분석에도 적용됩니다.
ERP 또는 PVA 아카이브에서 검증된 .txt 파일을 내보냅니다. 초안이 아닌 최종 전송 버전이 필요합니다. 전송된 파일이 Receita Federal이 수신한 파일과 일치하기 때문입니다. 모든 연도 파일을 하나의 폴더에 저장합니다.
ImageToTable.ai는 PDF, JPG, PNG, WebP 입력을 지원합니다. .txt 파일의 경우, 텍스트 뷰어나 PVA의 파일 뷰어에서 각 ECD를 열어 PDF로 인쇄합니다. SPED 형식의 고정 너비 레이아웃은 시각적으로 일관되므로 PDF가 AI가 읽는 구조를 보존합니다. 이 단계는 파일당 약 30초가 소요됩니다.
모든 연도 ECD에서 시산표를 캡처하는 하나의 열 정의를 설정합니다. 열: 연도, 계정 코드, 계정명, 기초 잔액, 차변 이동, 대변 이동, 기말 잔액. "연도" 열을 추가하면 여러 연도의 결과를 단일 테이블로 컴파일할 수 있습니다. 계정 코드는 연도 간 표준화를 위해 C050의 참조 계정과목표(Plano de Contas Referencial)에 매핑되어야 합니다.
1년차 PDF를 업로드하고 열 정의로 추출을 실행합니다. 2년차와 3년차에 대해 반복합니다. 열 정의는 의미론적이므로 PVA가 연도 간에 약간의 형식 차이로 레이아웃을 내보낸 경우에도 모든 파일에서 동일하게 작동합니다. 각 실행은 헤더가 포함된 깔끔한 테이블을 생성합니다.
각 연도의 결과를 .xlsx로 내보내고 "연도" 열을 사용하여 각 행의 출처 기간을 식별하여 하나의 파일로 쌓습니다. 비교 테이블을 만듭니다. 계정 코드로 필터링하고 각 연도의 기초 및 기말 잔액을 인접 열에 배치합니다. 전년 대비 변동에 대한 계산 열을 추가하고, 이동이 20% 또는 R$100,000과 같은 임계값을 초과한 계정에 플래그를 지정하는 조건부 서식을 추가합니다.
.txt 파일에서 구조화된 연도 간 테이블까지의 전체 과정은 열 정의가 저장되면 3년치 데이터 기준으로 약 30분이 소요됩니다. 텍스트 가져오기 마법사와 수동 정렬을 사용하여 Excel에서 동일한 작업을 완전히 수행하는 경우, 수동 필터링 및 필드 매핑으로 인한 오류율이 더 높아 예상 시간은 3~4시간입니다.
이 분석을 매년 반복한다면, 열 정의를 템플릿으로 저장해 두십시오. 다음 해에는 새 파일에 대해서만 4단계를 실행하고 결과를 기존의 연도 간 스프레드시트에 추가하면 됩니다.
배치 확장: ECF 세무 조정 데이터 추가
동일한 배치 로직이 ECF 파일에도 적용됩니다. ECF의 Bloco M에는 IRPJ 및 CSLL 부채를 결정하는 e-Lalur 조정 항목이 포함되어 있으며, 이러한 조정 항목을 연도별로 비교하면 세무 계획과 영구적 차이가 어떻게 변화하고 있는지 파악할 수 있습니다.
연도 간 분석에 ECF 데이터를 추가하려면 ECF의 M300 및 M350 Registro를 대상으로 하는 두 번째 열 정의를 생성하십시오:
연도, Registro, 계정 코드, 조정 유형, 조정 금액, 참조 프로세스 번호
이 정의를 사용하여 각 연도의 ECF PDF를 처리하고, 내보낸 후 ECD 시산표 데이터와 함께 통합 스프레드시트에 병합하십시오. 이제 ECD↔ECF 경계를 넘나드는 질문에 답할 수 있는 단일 파일이 생성됩니다.
핵심 인사이트: ECF의 Bloco E(E010, E015)에는 ECD 회계 잔액을 ECF 세무 조정에 연결하는 매핑된 계정이 포함되어 있습니다. 이를 배치에 포함시키면 ECF 조정 항목을 원래 ECD 계정으로 추적하는 데 필요한 상호 참조 테이블을 얻을 수 있습니다. 이는 PVA가 수행하지 않는 검증입니다.
레이아웃 변경 시 대처 방법
브라질 SPED 레이아웃은 진화합니다. ECD는 2020년에 Leiaute 9로 전환되었습니다. ECF는 2026년에 제출되는 2025년 과세 연도에 대해 Leiaute 12를 채택했습니다. 레이아웃이 변경되면 스크립트 기반 파서는 코드 업데이트가 필요합니다. 의미론적 추출 접근 방식은 전환을 다르게 처리합니다. AI가 절대적인 바이트 위치가 아닌 의미로 읽기 때문에, Registro 코드와 레코드의 개념적 구조가 유지되는 한 동일한 열 정의가 여러 레이아웃 버전에서 자주 작동합니다. 실제로 ECD의 Leiaute 8에서 9로의 전환과 ECF의 Leiaute 11에서 12로의 전환은 핵심 Registro 구조(C155, M300)가 안정적으로 유지되었기 때문에 시산표 또는 e-Lalur 추출을 위한 열 정의 변경이 필요하지 않았습니다.
자주 묻는 질문
Q: ECD와 ECF를 하나의 배치로 처리할 수 있나요?
각 파일은 Registro 구조가 다르기 때문에 별도의 추출 과정이 필요합니다. 그러나 한 번 생성된 열 정의는 템플릿으로 저장하여 매년 재사용할 수 있습니다. ECD 처리는 한 번, ECF 처리는 두 번째로 진행되며, 두 파일을 내보낸 후 Excel에서 통합 작업을 수행합니다.
Q: ECD에 부문별 장부(Bloco K)가 있는 회사는 어떻게 처리하나요?
ECD에 Bloco K 기록이 포함된 경우, 정의에 "원가 중심" 또는 "부서" 열을 추가할 수 있습니다. AI가 ECD의 C100 및 K 관련 Registros에서 K 수준의 원가 중심 태그를 읽어 출력 테이블에 포함시킵니다. 이는 사업 단위별로 연도 간 수익성 분석을 수행할 때 특히 유용합니다.
Q: 합병이나 구조조정으로 인해 연도 간 계정 코드가 변경된 경우는 어떻게 하나요?
이는 데이터 추출 문제가 아니라 데이터 매칭 문제입니다. 각 연도 ECD에서 시산표 데이터와 함께 C050 계정과목표를 추출하세요. 회사 내부 계정 번호 대신 Receita Federal에서 표준화한 참조 계정과목표(Plano de Contas Referencial)의 참조 계정 코드를 연도 간 매칭 키로 사용하십시오.
Q: 배치 처리 시 파일 크기 제한이 있나요?
ImageToTable.ai는 ECD 파일을 PDF 또는 페이지 이미지 세트로 처리합니다. 일반적인 ECD 파일의 경우 PDF 버전은 약 200~400페이지입니다. 도구는 페이지별로 처리합니다. 매우 큰 파일의 경우 페이지 범위 PDF 분할을 사용하여 Bloco별로 섹션을 나누어 처리할 수 있습니다.
Q: 이 접근 방식이 Lucro Presumido 기업에도 적용되나요?
네, 그렇습니다. Lucro Presumido 기업도 동일한 Registro 구조로 ECD를 제출하며, 연도 간 계정 비교에 대한 동일한 요구사항이 있습니다. ECF 범위는 더 좁지만, ECD 추출 및 연도 간 시산표 분석은 동일하게 작동합니다.
규제 준수의 부담에서 분석 자산으로
모든 SPED 제출은 어떤 의미에서 분석 잠재력의 낭비입니다. 회계 시스템이 1년 내내 생성한 데이터는 한 명의 독자에 최적화된 형식으로 재구성되며, 상당한 수동 작업 없이는 다른 목적으로 사실상 사용할 수 없습니다. 아이러니한 점은 이것이 회사의 회계연도 중 가장 완전한 재무 기록이며, ERP가 내보내는 어떤 관리 보고서보다 상세하다는 것입니다.
일괄 처리는 방정식을 바꿉니다. 단 한 번의 오후에 여러 연도의 시산표, 세무 조정, 원가 센터 데이터를 추출할 수 있게 되면, SPED 파일은 제출하고 잊어버리는 규제 준수 산출물에서 적극적으로 사용하는 분석 데이터셋으로 전환됩니다. 전년 대비 변동 분석, 실효세율 추세 추적, 부문별 수익성 추세선. 이 모든 것은 별도의 데이터 준비 주기가 필요한 별도의 프로젝트가 아니라, 동일한 추출 워크플로우의 결과물이 됩니다.
올해 작성하는 열 정의는 재사용 가능한 자산입니다. 내년에 새로운 ECD 파일이 책상 위에 도착하면, 동일한 정의로 실행하기만 하면 됩니다. 비교 결과는 몇 시간이 아닌 몇 분 안에 준비됩니다.