네 법인 원장이 섞이는 사고를 겪고 세운 규칙 세 가지
네 개 법인의 회계 자료를 AI에 넘겨 정리시키다가 원장이 섞이는 사고를 두 번 겪었습니다. 한 번은 A 법인의 카드 매입 내역이 B 법인의 월 집계에 들어갔고, 한 번은 두 법인 사이의 대여금이 한 법인의 매출로 잡혔습니다. 둘 다 세무 신고 전에 잡아냈지만, 잡아낸 방식이 우연에 가까웠습니다. 그 뒤로 AI에 법인 자료를 넘길 때 지키는 규칙을 세 가지 정했습니다.
- AI는 작업 시작 전에 어느 법인 자료인지 확인 질문을 합니다
- 자료 파일과 작업 폴더는 법인 식별자로 물리적으로 분리합니다
- 법인 사이의 거래는 어느 한쪽 원장이 아니라 별도 케이스로 다룹니다
이 세 줄이 나오기까지의 사고 경위와, 각 규칙이 왜 그 모양이 됐는지를 적습니다.
첫 번째 사고: 파일명만 보고 넘긴 카드 내역
첫 사고는 작년 가을이었습니다. 법인카드 매입 내역을 월별로 정리하는 작업을 AI에 맡겼는데, 네 법인의 카드 내역 파일을 한 폴더에 넣어두고 “이번 달 카드 내역 정리해줘”라고 했습니다. 파일명은 카드사가 내려준 그대로였고, 법인명 대신 카드 끝번호만 들어 있었습니다.
AI는 폴더 안의 파일을 전부 읽어서 한 장의 집계표를 만들었습니다. 저는 그 집계표를 B 법인 것으로 알고 경리 프로그램에 올렸습니다. 석 달 뒤 세무법인에서 “이 법인 카드 매입이 평소보다 두 배인데 확인 부탁드립니다”라는 연락이 왔고, 뒤져보니 A 법인 카드 두 장의 내역이 섞여 있었습니다. 카드 끝번호로 법인을 구분하는 표를 저는 머릿속에 갖고 있었지만, AI는 그 표를 본 적이 없었습니다.
AI의 잘못은 아니었습니다. 폴더에 있는 것을 다 정리하라고 했고, 다 정리했습니다. 어느 파일이 어느 법인 것인지 알려주는 정보가 파일에도 지시에도 없었습니다.
두 번째 사고: 법인 간 대여금이 매출로
두 번째 사고는 그 뒤 두 달 만이었습니다. 이번에는 폴더를 법인별로 나눈 상태였습니다. C 법인의 통장 거래내역을 넘기고 입금 건을 성격별로 분류하게 했는데, 그 달에 D 법인이 C 법인에 운영자금을 빌려준 입금이 있었습니다. 거래내역에는 상대 법인명과 금액만 있었고, AI는 이걸 매출 입금으로 분류했습니다.
이건 첫 사고와 종류가 다릅니다. 폴더를 나눠도 막을 수 없는 사고였습니다. C 법인 원장 안에서만 보면 그 입금은 다른 회사에서 들어온 돈이고, 매출로 보이는 것이 자연스럽습니다. 이 입금이 대여금이라는 것은 D 법인 쪽 기록과 대여 약정을 같이 봐야 알 수 있습니다. 즉 법인을 분리하면 분리해서 생기는 사각이 있었습니다.
이 건은 월마감 때 제가 입금 목록을 훑다가 상대 법인명이 눈에 걸려서 잡았습니다. 눈에 안 걸렸으면 매출로 신고가 나갔을 것이고, 그러면 부가세와 법인세가 실제와 다르게 계산됐을 겁니다.
두 사고를 나란히 놓고 본 것
두 사고를 표로 놓고 봤습니다.
| 항목 | 첫 사고 | 두 번째 사고 |
|---|---|---|
| 섞인 것 | 다른 법인의 자료가 한 집계에 | 두 법인 사이 거래가 한쪽 원장에 |
| 원인 | 법인 식별 정보 없음 | 법인 간 거래를 단일 법인 시각으로 처리 |
| 폴더 분리로 막히나 | 막힘 | 안 막힘 |
| 발견 경위 | 세무법인 지적 | 월마감 중 우연 |
첫 사고는 식별의 문제였고, 두 번째는 경계의 문제였습니다. 첫 사고를 막는 조치는 자료에 법인 표시를 붙이는 것이고, 두 번째를 막는 조치는 법인 사이를 넘는 거래를 따로 분리해서 다루는 것입니다. 하나의 규칙으로 둘을 다 막을 수 없다는 것이 이 표에서 나온 첫 결론이었습니다.
그리고 둘 다 발견이 우연이었다는 점이 걸렸습니다. 세무법인이 눈치 못 챘으면, 제가 그날 입금 목록을 안 훑었으면 그대로 갔을 사고입니다. 막는 규칙만이 아니라 섞였을 때 드러나게 하는 장치도 필요했습니다.

규칙 하나: 시작 전 법인 확인 질문
첫 규칙은 AI가 작업을 시작하기 전에 “이 자료는 어느 법인 것입니까”를 묻게 하는 것입니다. 지시문에 법인이 명시돼 있으면 묻지 않고, 없으면 반드시 묻고 답을 받기 전에는 진행하지 않습니다. 이 규칙은 AI 쪽 설정 파일에 넣어뒀습니다.
처음에는 이게 번거로울 거라고 생각했습니다. 매번 묻고 답하는 왕복이 하나 늘어나니까요. 실제로 해보니 묻는 빈도가 생각보다 낮았습니다. 제가 지시할 때 법인을 적는 습관이 생겨서 물을 일이 줄었고, 물었을 때는 대개 제가 법인을 빼먹은 경우여서 물은 것이 맞았습니다. 석 달 동안 이 질문이 실제로 섞임을 막은 것으로 보이는 경우가 두 번 있었습니다. 두 번 다 급하게 지시하다 법인을 안 적었고, 폴더도 잘못 잡고 있었습니다.
규칙 둘: 식별자로 물리적 분리
두 번째 규칙은 자료와 작업 결과물에 법인 식별자를 붙이는 것입니다. 법인마다 짧은 코드를 하나씩 정하고, 폴더 이름, 파일 이름, 집계표 첫 열, 그리고 AI가 만드는 결과물 파일명에 그 코드가 들어가게 했습니다. 경리 프로그램 쪽에서 쓰는 회사 식별값과도 맞춰서, 프로그램에서 내려받은 파일은 이름만 봐도 어느 법인인지 알 수 있게 했습니다.
이 작업에서 손이 간 것은 기존 파일이었습니다. 지난 2년치 파일 중 법인 표시가 없는 것이 수백 개였고, 하나씩 열어서 확인하고 이름을 바꾸는 데 이틀이 들었습니다. 카드 끝번호로 법인을 구분하던 머릿속 표도 이때 파일로 만들어서 AI가 읽을 수 있는 곳에 뒀습니다. 이틀은 아까웠지만, 첫 사고를 정리하는 데 든 시간이 그보다 길었으니 남는 계산이었습니다.
폴더를 나누니 덤도 따라왔습니다. AI에 넘기는 자료의 범위가 법인 하나로 좁아지니, 한 번에 읽는 양이 줄어 응답이 빨라지고 비용도 줄었습니다. 안전을 위해 한 조치가 효율에도 도움이 된 경우입니다.
규칙 셋: 법인 간 거래는 별도 케이스
세 번째 규칙이 가장 손이 갔습니다. 법인 사이의 거래를 어느 한 법인의 원장 안에서 처리하지 않고, 별도 목록으로 먼저 빼는 것입니다.
구체적으로는 이렇게 합니다. 어느 법인의 거래내역을 분류하기 전에, 상대 계좌나 상대명이 나머지 세 법인 중 하나인 건을 먼저 골라냅니다. 이 건들은 법인 간 거래 목록에 따로 적고, 양쪽 법인의 기록이 서로 맞는지 대조한 뒤에야 각 원장에 반영합니다. 대여금이면 양쪽에 대여금과 차입금으로, 용역이면 양쪽에 매출과 매입으로, 반드시 짝이 맞아야 넘어갑니다.
AI에게는 이 골라내기를 첫 단계로 시킵니다. 네 법인의 계좌 목록을 읽을 수 있는 곳에 두고, 거래내역에서 그 계좌가 상대인 건은 분류하지 말고 별도 목록으로 뽑으라고 합니다. 분류는 그다음 단계입니다. 두 번째 사고 때 매출로 잡힌 그 입금은 이 단계에서 걸립니다.
이 규칙의 한계도 적어두면, 상대가 법인 계좌가 아닌 경우입니다. 대표 개인 계좌를 거쳐 들어온 돈이나 현금 거래는 이 골라내기에 안 걸립니다. 이건 지금도 사람이 봅니다.

섞였을 때 드러나게 하는 장치
규칙 세 가지와 별개로, 섞임이 생겼을 때 우연이 아니라 절차로 드러나게 하는 것을 하나 두었습니다. 월마감 때 법인별 카드 매입 합계와 입금 합계를 전월, 전년 같은 달과 나란히 놓고 20% 넘게 차이 나는 항목을 표시하게 했습니다. 첫 사고 때 세무법인이 잡아낸 것이 바로 “평소의 두 배”였으니, 그 눈을 절차로 옮긴 것입니다.
이 장치가 석 달 동안 표시한 항목은 일곱 건이고, 그중 실제 섞임은 없었습니다. 여섯 건은 실제 매출 변동이었고 한 건은 입력 누락이었습니다. 섞임을 못 잡았다기보다 규칙 세 가지가 앞에서 막고 있어서 뒤까지 온 게 없었다고 보고 있는데, 이건 더 오래 봐야 알 일입니다.

규칙을 세운 뒤 바뀐 작업 순서
규칙 세 가지가 들어가자 AI에 회계 자료를 넘기는 순서가 전과 달라졌습니다. 전에는 파일을 폴더에 넣고 정리하라고 하면 끝이었습니다. 지금은 이렇게 갑니다.
- 지시문 첫 줄에 법인 코드를 적습니다. 빠지면 AI가 묻습니다.
- AI가 해당 법인 폴더의 파일만 읽고, 파일명에 다른 법인 코드가 섞여 있으면 진행 전에 알립니다.
- 거래내역에서 나머지 세 법인 계좌가 상대인 건을 먼저 골라 법인 간 거래 목록으로 뺍니다.
- 남은 건을 분류하고 집계표를 만듭니다. 집계표 파일명에 법인 코드가 들어갑니다.
- 법인 간 거래 목록은 상대 법인 쪽 기록과 대조한 뒤 양쪽 원장에 짝을 맞춰 반영합니다.
단계가 두 개에서 다섯 개로 늘었으니 느려졌을 것 같지만, 실제 소요 시간은 크게 다르지 않습니다. 법인 하나 분량만 읽으니 AI 응답이 빨라졌고, 사고 뒤에 원인을 찾아 되돌리는 시간이 없어진 것을 계산에 넣으면 오히려 줄었습니다. 첫 사고 정리에는 이틀이 들었고, 두 번째 사고는 반나절이었습니다. 다섯 단계 중 늘어난 부분에 드는 시간은 법인당 한 달에 10분 안쪽입니다.
이 순서를 문서로 적어서 AI가 읽는 설정 파일과 같은 곳에 두었습니다. 사람이 바뀌어도, 세션이 바뀌어도 같은 순서로 가게 하려는 것인데, 이 문서가 없을 때는 순서가 제 머릿속에만 있었고 그게 첫 사고의 조건이기도 했습니다.
AI에게 회사가 넷이라는 것을 알려주는 방법
- 여러 법인 자료를 AI에 넘길 때 법인을 안 적으면 AI가 묻게 합니다. 사람이 매번 기억하는 것보다 도구가 매번 묻는 것이 안 빠집니다.
- 자료에는 법인 식별자를 파일명 수준에서 박습니다. 머릿속에 있는 구분표는 AI가 읽을 수 없습니다.
- 법인 사이의 거래는 어느 한쪽 원장에서 처리하지 않습니다. 분리해서 생기는 사각은 분리로 못 막고, 경계를 따로 다루는 단계가 있어야 합니다.
- 막는 규칙과 별개로 드러나게 하는 절차를 둡니다. 두 번의 사고가 다 우연으로 발견됐다는 것이 규칙보다 더 무서운 사실이었습니다.
법인이 하나였으면 이 글은 필요 없었을 겁니다. 네 개를 같이 보면서 AI를 쓴다는 것은, AI에게 네 개의 회사가 있다는 사실을 매번 알려줘야 한다는 뜻이었습니다. 두 번 알려주지 않았고, 두 번 섞였습니다. 지금은 알려주는 것을 규칙으로 바꿔서 제 기억에 의존하지 않게 하고 있습니다.