대표가 이번 달 매출을 물었을 때 화면, 엑셀, 직원이 뽑은 자료의 숫자가 다르면 보고서를 믿기 어렵다. 원인은 계산 오류만이 아니다. 날짜의 기준이 다르거나 작성 중인 문서를 합산했거나 화면의 한 페이지만 내보냈을 수 있다. 이 프로젝트에서는 일별·주별·월별과 원하는 기간, 현장별 보고서를 요청했다. 나는 그래프를 붙이는 일보다 무엇을 같은 합계로 볼 것인지 정하는 작업이 먼저라고 본다.
기간은 날짜 칸 두 개보다 많은 의미를 갖는다
보관된 보고서 설명은 시작일과 종료일을 포함하고 주별과 월별 구간을 정하는 기준을 명시한다. 처음과 마지막 구간은 선택한 기간에 맞춰 잘린다. 이번 달 같은 바로 가기도 말일 전체를 뜻하는지 오늘까지를 뜻하는지 정해야 한다. 사용자가 보는 이름이 같아도 시스템 날짜나 경계가 다르면 같은 요청에서 다른 숫자가 나온다. 기본값의 의미도 보고서 계약에 포함돼야 한다.
거래 금액은 전표 날짜, 배송과 수령은 사건 날짜를 기준으로 볼 수 있다. 지난달 발주한 물건이 이번 달 도착했다고 이번 달 발주 금액과 도착 수량을 같은 사건처럼 더하면 안 된다. 화면에 어떤 날짜를 쓰는지 표시하고 상세로 넘어갔을 때 같은 조건을 유지해야 한다. 대표가 합계를 누르면 왜 그 전표들이 포함됐는지 확인할 수 있어야 요약이 실제 판단으로 이어진다.
문서가 있다는 이유로 모두 실적이 되지는 않는다
견적과 주문, 발주 초안, 확정한 판매와 구매는 역할이 다르다. 준비 중인 요청서 금액까지 매입 실적으로 더하면 일이 진행되기 전부터 비용이 잡힌 것처럼 보인다. 보관된 보고서는 실적과 업무 상태를 나누고, 확정·이관 자료와 작성 중·취소 자료의 처리 기준을 적었다. 같은 현장의 여러 문서가 같은 거래를 가리킬 수 있으므로 문서 수만큼 합계를 더하지 않아야 한다.
이 기준은 현재 상태를 보는 보고서인지 특정 시점의 확정본을 보는 보고서인지와도 연결된다. 나중에 취소한 전표를 현재 조회에서 제외할 수 있지만 당시 보고서를 그대로 다시 보여 주는 것과는 다른 요구다. 내가 보고서 범위를 정한다면 날짜와 상태의 기준을 함께 적을 것이다. 과거 날짜를 골랐다는 이유만으로 그날의 시스템 상태까지 복원했다고 설명하지 않는 것이 정확하다.
확인된 차액을 순이익이라고 부르지 않는다
매출 공급가액에서 매입 공급가액을 뺀 숫자는 유용할 수 있다. 하지만 별도 비용, 인건비, 미확인 원가와 기간 귀속이 빠져 있다면 그 값을 순이익이라고 부르면 안 된다. 이 구현의 설명도 확인된 공급가액 차액과 실제 수금·지급 잔액을 구분한다. 대표가 쉽게 읽는 화면일수록 숫자를 압축하면서 무엇을 포함하지 않았는지 짧고 분명하게 알려 줘야 한다.
미확인 금액과 사업자 미지정 자료도 합계 옆에 남긴다. 특정 사업자로 좁혔을 때 소속을 확인하지 못한 과거 자료가 제외될 수 있다. 숫자가 줄어든 이유를 말하지 않으면 사용자는 누락이나 매출 감소로 오해할 수 있다. 전체, 확인된 범위, 미지정 범위를 비교할 수 있으면 어디를 정리해야 하는지도 드러난다. 모르는 값을 영으로 채워 일단 합계를 맞추는 방법은 이 판단을 가려 버린다.
내보내기는 화면 페이지와 다른 범위일 수 있다
목록은 빠르게 읽으려고 페이지를 나눌 수 있다. 전체 보고서 저장은 그 페이지의 몇 줄이 아니라 선택한 조건의 전체 자료를 사용해야 한다. 보관된 보고서 설명에는 전체 엑셀과 전체 인쇄가 화면의 활성 탭이나 페이지에 잘리지 않도록 한 범위가 적혀 있다. 입력이 긴 숫자를 파일에서 다른 값으로 바꾸지 않는지, 원본 글이 수식으로 실행되지 않는지도 확인할 필요가 있다.
검토용으로 기간 경계의 전표, 기간 이전 발주의 기간 안 수령, 취소 자료, 미확인 금액과 여러 페이지의 데이터를 준비한다. 화면 소계와 전체 내보내기, 별도 집계가 같은 약속으로 계산되는지 비교한다. 이번 글은 보관된 보고서 설명과 선택한 구현을 읽은 것이며 현재 회사의 실제 합계를 재산출하지 않았다. 대표가 보기 편한 보고서는 숫자를 크게 만드는 화면이 아니라 그 숫자에 들어간 자료와 다음에 확인할 일을 쉽게 따라갈 수 있는 화면이다.