회사 대표가 세금계산서 처리를 요청하면 한 문장으로 일이 끝나기를 기대할 수 있다. 하지만 프로그램 안에서 준비한 문서, 외부 서비스에 전달한 요청, 실제 처리 결과는 같은 상태가 아니다. 이 프로젝트의 기록에는 신고 준비 기능에서 시작해 발급 서비스와 AI 요청을 연결하는 과정이 남아 있다. 나는 이 이야기를 세금 처리의 정답을 알려 주는 안내가 아니라, 중요한 외부 업무의 상태를 어떻게 정확히 설명했는지에 대한 제작 기록으로 풀었다.
초기의 준비 기능과 이후 연동을 같은 시점으로 읽지 않는다
초기 설명은 증빙 보관과 대조, 검토 자료 준비를 다루면서 실제 신고나 발급과의 한계를 적었다. 이후에는 발급 서비스와 연결하고 결과를 조회하는 기능이 추가된 기록이 있다. 두 문서를 한 상태로 합치면 아직 없는 기능을 있다고 말하거나 이미 추가한 기능을 계속 미구현이라고 말하게 된다. 큰 프로젝트의 제작기를 쓸 때 날짜와 기능 범위를 연결해야 하는 이유다.
준비 기능에서 확인한 값도 발급 직전의 실제 대상과 같아야 한다. 사업자와 거래처, 문서의 버전과 금액을 다시 읽고 외부 서비스의 대상과 대조해야 한다. 비슷한 이름만으로 상대를 확정하거나 작성 중 전표를 확정된 거래처럼 보내면 안 된다. 이 글은 그 구현 경계를 설명할 뿐 특정 거래의 세무 판단이나 신고 적합성을 대신하지 않는다. 실제 업무의 판단은 확인한 자료와 담당 범위에 따라 이뤄져야 한다.
사용자의 명확한 요청과 자동 재전송은 다르다
기록에는 AI 연결에서 사용자가 명확히 요청한 신규 발급을 별도 클릭 없이 요청하는 방향도 있다. 이 지시는 당시 정의한 대상과 조건의 범위 안에서 다뤄졌다. 사용자가 한 번 요청했다는 사실을 수정발급이나 취소 같은 다른 동작의 포괄 승인으로 바꿔서는 안 된다. 어떤 업무를 요청받았는지와 그 요청이 가리키는 문서를 함께 보관해야 나중에 실제 실행의 이유를 설명할 수 있다.
또한 신규 발급을 실행할 수 있다는 것과 응답이 없을 때 마음대로 다시 보낼 수 있다는 것은 다르다. 첫 요청이 외부에서 처리됐을 수 있기 때문이다. 보관된 원격 사용 설명은 처리 중이거나 결과가 불명확한 상태에서 이력을 먼저 조회하고 같은 요청을 자동으로 재전송하지 않는 경계를 적었다. 중요한 외부 작업에서는 빠른 재시도가 편의 기능이 아니라 중복 실행의 원인이 될 수 있다.
요청됨은 요청을 보냈다는 기록이다
요청을 외부로 전달했다고 최종 처리까지 끝난 것은 아니다. 보관된 설명은 요청 전송 기록과 최종 결과를 구분한다. 화면에서 성공 문구를 보여 줄 때도 어떤 단계가 성공했는지 밝혀야 한다. 대표가 보기에 어려운 내부 상태 이름을 그대로 나열하기보다 요청 접수, 처리 확인 필요, 확인된 결과처럼 실제로 아는 사실을 설명하는 문구로 풀 수 있다. 결과를 확인하지 못한 상태는 완료로 표시하지 않는다.
결과를 조회할 때도 어느 요청과 연결된 결과인지 확인해야 한다. 다른 거래의 응답이나 오래된 결과를 현재 문서에 붙이면 상태는 그럴듯하지만 근거가 틀리다. 안정적인 요청 식별자와 대상 버전, 외부 기록을 함께 남기면 이 경계를 검토할 수 있다. 내부 요청 횟수와 실제 발급 건수를 같은 통계로 세지 않는 것도 대표용 현황에서 지켜야 할 원칙이다. 상태 수를 단순화해도 서로 다른 사건의 의미는 유지해야 한다.
시험한 연결과 실제 첫 업무를 구분한다
제공된 기록에는 합성 자료를 사용한 격리 검사와 실제 첫 발급의 확인 대기가 나뉘어 있다. 시험 도구가 요청과 응답을 처리했다고 실제 업체의 계산서를 발급한 경험으로 바꿔 쓰지 않았다. 운영 자료를 건드리지 않고 오류와 중복 방지를 확인한 것은 의미 있는 진전이지만 외부의 실제 업무 성공을 대신하는 근거는 아니다. 이 구분을 유지해야 다음 담당자도 남은 확인을 정확히 이어갈 수 있다.
다른 시스템에 적용한다면 대상이 바뀐 요청, 중복 요청, 응답 유실, 처리 중 상태와 조회 결과 불일치를 합성 환경에서 먼저 준비한다. 이번 글을 쓰면서 실제 발급·취소·수정 요청을 보내지 않았고 현재 처리 결과도 조회하지 않았다. 대표가 쉽게 지시할 수 있는 프로그램은 모든 상태를 완료 하나로 줄인 프로그램이 아니다. 요청한 일과 지금 확인된 결과, 다시 살펴볼 일을 짧고 정확하게 구별해 주는 프로그램이어야 한다.