로컬푸드 직매장 · 위탁 정산 관리

로컬푸드 직매장 위탁판매·정산 관리

농가 서른 곳의 물건을 위탁 판매하고 매주 목요일에 정산하는 직매장 운영자가 “품목마다 수수료율이 다르고, 할인해서 팔면 수수료를 할인 전으로 떼는지 후로 떼는지 농가마다 말이 다릅니다”라고 적어 낸 글에서 시작했습니다. 돈 계산이 얽힌 사업이라, 문서가 얼마나 정확해야 하는지가 그대로 드러난 사례입니다.

농가 30곳이 입점한 비수도권 로컬푸드 직매장의 운영자. 개발자는 없고 지금은 종이에 적어 엑셀로 옮겨 매주 손으로 계산합니다.

들어간 것

시작은 이 글 한 편이 전부였습니다.

아래는 손대지 않은 원문입니다. 개발 용어는 한 마디도 없고, 그 일을 하며 겪는 것만 적혀 있습니다.

저희 동네에 로컬푸드 직매장이 있는데 제가 운영을 맡게 됐습니다. 근처 농가 서른 곳 정도가 아침에 물건을 직접 가져와서 진열하고, 팔리면 저희가 수수료를 떼고 나머지를 농가에 드립니다. 지금은 농가별로 종이에 적고 엑셀로 옮겨서 매주 목요일에 정산하는데 이게 제일 힘듭니다. 걸리는 게 몇 가지 있습니다. 첫째, 품목마다 수수료율이 다릅니다. 채소는 10%인데 가공식품은 15%고 계란은 따로 정한 게 있습니다. 둘째, 유통기한이 임박하면 저녁에 할인해서 파는데 이때 수수료를 할인 전 값으로 떼는지 할인 후로 떼는지 농가마다 말이 다릅니다. 셋째, 안 팔리고 남은 건 농가가 회수해 가시는데 안 오시면 저희가 폐기합니다. 그 손해를 누가 지는지도 명확하지 않습니다. 정산서를 농가별로 뽑아서 드리고 싶고, 그 합계가 매장 매출이랑 맞아떨어져야 합니다. 한 번 정산을 마감하면 못 고치게 하고 싶은데 지금은 엑셀이라 나중에 누가 고쳐도 아무도 모릅니다. 농가 어르신들이 스마트폰으로 자기 정산 내역을 볼 수 있으면 좋겠습니다.

입력한 원문
521자
개발 용어 없음
나온 문서
10편
문서 분량
171,375자
설계된 화면
13개

나온 것

문서 10편, 모두 171,375자

전문을 그대로 읽을 수 있습니다. 요약본이 아니라 실제로 AI 개발 에이전트에게 넘어간 원본입니다.

사람이 손댄 곳은 이게 전부입니다

  • · 3단계 ‘화면 목록 다듬기’에서 화면 이름 몇 개를 손봤습니다. 하는 일이 겹쳐 보이는 이름을 갈라 적었을 뿐 문서 본문은 손대지 않았습니다.
  • · 사업계획서 검토에서 받은 지적 여덟 건 중 둘은 반영하지 않기로 하고 그 이유를 적어 남겼습니다. 반영하지 않은 것도 기록에 남아 심사에서 물으면 그대로 답이 됩니다.
  • · 아래 화면은 저장소에 연결되기 전 단계의 것입니다. 기능을 붙이는 작업은 이 사례를 정리하는 시점에 아직 진행 중이라, 동작하는 서비스 화면 대신 이 단계까지만 싣습니다. 없는 것을 있다고 하지 않기 위해 그대로 적어 둡니다.

3단계 개발문서

8

전체 모습을 볼 때 읽는 글

전체 개발 안내

무엇을 만드는지, 누가 쓰는지, 첫 개발의 완료 기준이 무엇인지 한 편으로 묶었습니다.

16,549자 · 전문 읽기 →

만들 사람이 기준으로 삼는 문서

기능 요구사항

요구사항마다 주체·시작 조건·정상 흐름·예외 흐름·완료 조건을 적었습니다. 정산을 언제 잠그는지도 여기 있습니다.

21,622자 · 전문 읽기 →

화면을 그릴 때 읽는 문서

화면과 사용 흐름

화면 13개가 각각 무슨 일을 맡고 어디서 어디로 이어지는지 적었습니다.

20,072자 · 전문 읽기 →

데이터를 다룰 때 읽는 문서

데이터 구조

가장 두꺼운 문서입니다. 할인 전 금액과 할인 후 금액을 따로 두는 이유가 여기 적혀 있습니다.

46,673자 · 전문 읽기 →

화면과 서버를 이을 때 읽는 문서

기능 연결 방식

어떤 요청이 오가고 무엇이 돌아오는지, 무엇이 아직 안 정해졌는지 적었습니다.

29,985자 · 전문 읽기 →

전체 얼개를 볼 때 읽는 문서

시스템 구성

화면·서버·저장소가 각각 무엇을 맡는지 그림과 함께 적었습니다.

11,356자 · 전문 읽기 →

보이는 것을 정할 때 읽는 문서

디자인 가이드

고령 농가가 큰 글씨로 받을 금액을 먼저 보게 한다는 기준이 여기서 나왔습니다.

14,763자 · 전문 읽기 →

개발 전에 사람에게 물어야 하는 것

추가 확인 사항

문서가 정할 수 없어 사람에게 넘긴 것들입니다. 누구에게 물어야 하는지까지 적혀 있습니다.

1,167자 · 전문 읽기 →

화면 목록

문서가 정한 화면 13개

이 목록이 다음 단계 목업의 원본이 되고, 그대로 개발로 넘어갑니다. 여기 없는 화면은 만들어지지 않습니다.

01

농가용 스마트폰 정산 조회

농가가 본인 정산서와 판매·할인·반품·폐기 내역, 이번 주 받을 금액과 입금 예정일을 확인하고 이의를 제기한다.

02

농가용 큰 글씨 정산서 상세

농가가 큰 글씨 화면에서 최종 지급액을 먼저 보고 판매·수수료·할인·반품·폐기 세부 내역을 확인한다.

03

농가 로그인

농가가 본인 계정으로 들어와 자기 정산 내역만 본다.

04

농가 이의 제기 처리

운영자가 농가 이의 내용과 증빙 사진을 확인하고 처리 결과·담당자·처리일·농가에 알린 날짜와 방법을 기록한다.

05

운영자 로그인과 권한 관리

운영자가 로그인하고 정산 담당자 계정과 정산 마감 권한을 관리한다.

06

농가·품목·정산 규칙 관리

정산 담당자가 농가, 품목, 품목군, 상품코드, 수수료율, 할인 수수료, 반품·폐기 부담 규칙과 적용 시작일을 등록한다.

07

계산대 판매 파일 업로드와 상품 연결

정산 담당자가 계산대 판매 파일을 올리고, 상품코드가 일치하지 않는 판매 항목만 농가와 품목에 직접 연결한다.

08

판매·할인·반품·폐기 내역 확인

정산 담당자가 판매 원장을 확인하고 반품·폐기 내역을 등록한다.

09

오류 목록과 매장 매출 합계 대조

미연결 상품, 규칙이 빠진 항목, 확인되지 않은 거래를 처리하고 매장 매출과 정산 합계를 맞춘다.

10

농가별 정산서 생성·마감·정정 이력

정산서를 만들고, 권한자가 합계를 확인한 뒤 목요일에 마감한다.

11

마감과 정정 이력

마감된 정산서와 이후 정정 항목의 원 정산서·원 거래·다음 반영 주차 연결을 확인한다.

12

주간 정산 현황

이번 주차의 진행 상태와 남은 할 일을 한 화면에서 본다.

13

계산대 판매 파일 업로드 결과

올린 파일이 몇 건 연결되고 몇 건이 남았는지 보여 준다.

만들어진 것

문서를 그대로 넘겨서 나온 화면

개발문서와 화면 목록을 그대로 AI 개발 환경에 넘겨 만들어진 화면입니다. 아직 저장소에 연결되기 전 단계라 데이터는 샘플이고, 화면 맨 위에도 그렇게 적혀 있습니다. 다만 화면에 적힌 계산은 개발문서가 정한 그대로입니다.

문서를 넘긴 뒤 화면까지 9분 45초

농가가 보는 정산 내역

정상 판매금액 3,000원, 할인액 0원, 실제 판매금액 3,000원, 수수료율 10%, 수수료 300원, 농가 반영액 2,700원. 할인 전 금액과 할인 후 금액이 따로 적혀 있는 것이 핵심입니다. “할인해서 팔면 수수료를 할인 전으로 떼는지 후로 떼는지 농가마다 말이 다릅니다”라는 처음 문장이, 두 금액을 모두 남겨 두고 농가별 약정으로 고르게 하는 데이터 구조가 되어 여기까지 왔습니다. 아래 ‘이 내역에 이의 제기’ 버튼도 인터뷰에서 고른 답에서 나온 것입니다.

농가가 보는 정산 내역

위 그림은 실제로 떠 있던 화면을 그대로 찍은 것입니다. 데모가 떠 있는 동안에는 위 버튼으로 직접 들어가 볼 수 있고, 자리가 옮겨 가면 버튼은 사라집니다.

고쳐 가는 과정

한 번에 끝나지 않습니다

화면이 나온 뒤에 눈에 띄는 곳을 말로 적어 보내면, 검토를 거쳐 반영됩니다. 아래는 이 사례에서 실제로 오간 것을 그대로 옮긴 것입니다.

답한 것이 문서에서 빠질 뻔한 것

개발문서를 다 만들고 확정하기 직전이었습니다. 문서가 열여섯만 자였고 겉으로는 아무 문제가 없었습니다. 그런데 확정 화면이 “답하신 것과 문서가 어긋난 곳이 있습니다”라고 알려 주었습니다.

보낸 요청

농가별 정산 결과를 은행 이체용 파일로 내려받아 운영자가 은행 시스템에 올릴 수 있어야 합니다.

돌아온 검토

기능 요구사항 문서의 제외 목록에 ‘실제 은행 이체’가 들어가 있었습니다. 파고들어 보니 인터뷰 안에 정반대 답이 둘 있었습니다. 7번 ‘돈이나 이용권과 관련된 기능이 있나요’에는 사용자가 직접 만들어 달라고 골랐고, 10번 ‘첫 버전에서 빼도 되는 기능이 있나요’에는 AI가 자료를 읽고 채운 답이 빼자고 적혀 있었습니다. 문서는 뒤에 있는 답을 따랐을 뿐입니다.

바뀐 것 · 확정 전에 그 사실을 알고, 은행 이체용 파일은 첫 버전에서 빼기로 정한 뒤 확정했습니다. 막지 않고 알려 주었고, 정한 것은 사람입니다. 이 안내가 없었다면 다 만들어진 뒤에야 없다는 것을 알았을 것입니다. 문서는 열여섯만 자이고 제외 목록은 그 안의 한 줄입니다.

남은 한 번을 어디에 쓸지 알려 준 것

사업계획서 검토에서 받은 지적을 반영하려는데, 그 수정이 다른 장까지 어긋나게 하는 것이라 ‘어긋난 곳까지 다시 쓰기’가 필요했습니다. 그런데 남은 사업계획서 횟수가 1회뿐이었습니다.

보낸 요청

(누르기 전에 화면이 먼저 알려 주었습니다)

돌아온 검토

남은 사업계획서 횟수가 1회입니다. 여기서 쓰시면 확정할 횟수가 남지 않습니다. 확정도 1회를 쓰기 때문입니다. 지금은 ‘그 문단만 고치기’로 넘어가시고, 다시 쓰기가 꼭 필요하면 1회를 더 사신 뒤에 하셔도 됩니다.

바뀐 것 · 안내대로 그 지적은 반영하지 않기로 하고 이유를 적어 남긴 뒤, 남은 한 번으로 사업계획서를 확정했습니다. 눌러 보고 나서 알았다면 확정할 횟수가 없어 거기서 멈췄을 것입니다.

내 아이디어로 같은 것을 받으려면

가입하면 사업 검토 5회를 먼저 드립니다. 개발문서까지 만들어 본 뒤에 개발을 결정해도 됩니다.

로컬푸드 직매장 위탁판매·정산 관리 — 실제 사례 | Prometheon