← Home

2026-09-23 Q&A - David (Cin7 단일소스 전환)

Query

질문: 앞으로는 구글시트에 거래내역을 중복으로 기재하지 않고, Dear System API에서 데이터를 받아서 활용할 생각이야. 이럴 때 생길 수 있는 문제점이나 데이터 누락이 발생할 수 있는지 점검해줘.
질문자: David
일시: 2026-09-23


Answer

결론

전환은 가능하지만, 지금 상태로 수기 입력을 끊으면 안 된다. 두 시스템을 필드 단위로 실측 대조한 결과 영구히 사라지는 데이터 4종과 핵심 수치가 달라지는 지점 3곳이 확인됐다. 특히 Status 체계가 1:1로 매핑되지 않아 현재 대시보드·주간동향·/ask 봇의 모든 KPI 정의를 다시 세워야 한다. 반대로 Branch는 완전히 파생 가능하고 이력은 오히려 2년 더 깊다.

점검 방법

구글시트 Sales Data(42컬럼·17,267행, 2021-01-04~)와 Cin7 Core API를 필드 단위로 실제 대조했다. 추정이 아니라 양쪽 데이터를 직접 읽어 채움률·고유값·건수를 집계한 결과다.


1. 영구히 사라지는 데이터 — Cin7에 대응물이 없음

시트 항목채움률상태
Order Note47.6% (8,211행)Cin7 Note 필드는 표본 12건 전부 공란. “BX without tailgate/FIS(무상), ETA:10월 중순” 같은 운영 메모가 통째로 소실
Freight Cost (운임 원가)9.1% (1,572행)Cin7엔 운임 수익(계정 260 Freight & Handling)만 있고 원가 필드 자체가 없음 → 운임 마진 산출 불가
Damaged / Clearance0.1% / 0.5%대응 필드 없음. 다만 희소하고 재고 탭은 Stock 시트의 ND/VD를 쓰므로 실제 영향은 제한적
Salesman3.6% (613행)Cin7 SalesRepresentative는 고객 마스터의 기본값(“TA Sales”·“Sales VIC”)이라 주문별 실제 담당자가 아님

Order Note가 가장 아프다

8,211행에 사람이 직접 남긴 배송조건·ETA·특이사항이다. 이 정보는 Cin7 어디에도 없고, 수기 입력을 멈추는 순간부터 새로 쌓이지도 않는다.


2. 핵심 수치가 달라지는 지점

① Status 체계가 완전히 다르다 — 모든 KPI 재정의 필요 ⚠️ 최대 위험

값 분포
구글시트Confirmed 15,333 · Cancelled 612 · Credit 422 · Invoiced 335 · Ordered 324 · Restocked 177 · Hold 30 · Picking 16 · Released 16
Cin7COMPLETED 10,332 · INVOICED 810 · ESTIMATING 786 · ORDERED 214 · ESTIMATED 191 · CREDITED 145 · VOIDED 122 · BACKORDERED 32 … (총 15종)

1:1 매핑이 불가능하다. 현재 모든 KPI가 시트 어휘 위에 정의돼 있다 — 매출액 = Status ∈ {Credit, Invoiced, Confirmed}, 수주건수 = {Cancelled, Hold, 공백} 제외, Restocked는 매출 제외·수주 포함(Sales Data 테이블 명세 및 KPI 정의).

이 규칙 위에 TAB 대시보드 전체 · 주간 동향 보고서 · /ask 봇이 모두 얹혀 있다. 소스를 바꾸면 세 곳 전부 재검증해야 한다.

② 그냥 세면 건수가 부풀려진다

2026년 동일 기준 비교:

기준건수
시트 — 인보이스 발행 라인2,284
Cin7 — 제품 라인(계정 200)2,778 (+21.6%)
Cin7 — 전체 라인(운임 260 1,476건 포함)4,254 (+86%)

Cin7은 운임을 별도 라인으로 기록한다(시트는 제품 라인의 컬럼). 필터 없이 라인을 세면 출고건수·수주건수가 즉시 왜곡된다.

③ 범위 경계가 무너진다

  • 초과 494건의 정체: Walk-in 카운터 판매·부품 판매 — 시트가 의도적으로 제외하던 것. 현재는 TAB Sales Data(완제품)와 TA Service Parts Sales(부품)가 깔끔히 분리돼 있으나, Cin7은 한 원장에 담는다(Products 탭도 49%가 Spare parts).
  • K-Master가 섞인다: Cin7 판매원장 2026년 매출라인 중 K-master SKU 21건 / $50,132 확인. 현재 K-Master는 별도 원장(KM_Database)이며 CLAUDE.md의 브랜드 disambiguation 규칙상 합산 금지 대상이다.

3. 오히려 좋아지는 것

항목내용
Branch 파생완전히 가능. Branch=QLD ↔ 거래처 Turbo Air Queensland TA QLD 5,225건 정확히 1:1(양방향 예외 0건), Branch=NSW/VIC ↔ State 불일치 0건(12,042행)
이력 깊이Cin7 2019-06-17~ vs 시트 2021-01-04~ → 2년 더 깊다
대응되는 필드P/O No ↔ CustomerReference, Delivery ↔ Carrier, 배송지 ↔ ShippingAddress
새로 생기는 것첨부파일(프로포마 인보이스 PDF, 표본 12/12), 회계정보(GL 계정·GST·COGS·입금계좌) — 시트엔 아예 없던 데이터

4. 운영 리스크

  1. 재구축에 3.5시간 — 라인 상세는 주문당 1회 호출(60 calls/min 제한). 스키마를 바꾸거나 캐시가 깨지면 재백필 비용이 크다.
  2. 단일 장애점 — API 키 만료·Cin7 장애·API 애드온 구독 종료 시 전면 중단. 지금은 사람이 유지하는 시트라 언제든 읽을 수 있다.
  3. 되돌릴 수 없다 — 수기 입력을 멈춘 순간부터 그 기간의 시트 데이터는 영구 공백이다. 나중에 “역시 시트가 필요하다”가 되어도 소급 복원이 불가능하다.
  4. 시리얼번호 커버리지 미확인 — 시트 SN 94.3% vs Cin7 BatchSN 표본 7/12. 재고품만 추적되는 구조일 수 있어 확인 필요.

5. 권고 — 4단계 전환

단계할 일산출물
0. 지금병행 유지. 이미 구축된 cin7-reconcile-sales.mjs로 불일치 일일 모니터링일별 불일치 리포트
1.Status 매핑표 확정 + KPI 재정의 — “Cin7 기준으로 계산하면 매출/수주가 몇 % 달라지는가”를 숫자로 제시하고 승인받기매핑표 + 차이 검증 리포트
2.사라지는 항목 대책 — Order Note를 Cin7 Note 필드에 입력하도록 업무 절차 변경, Freight Cost 별도 관리 방안 확정업무 절차 변경
3.대시보드 소스 전환, 시트는 읽기전용 아카이브로 동결전환 완료

1단계가 선행 조건이다

Status 매핑이 정해지지 않으면 “Cin7로 바꾸면 매출 숫자가 어떻게 달라지는지”를 말할 수 없다. 그 상태로 전환하면 경영 보고 수치가 소리 없이 바뀐다 — 가장 피해야 할 시나리오다.


참고 문서


Referenced Pages

  • (답변 본문의 “참고 문서” 섹션 참고)

Gaps Identified

Knowledge Gap

(1) Status 매핑은 아직 없다 — 이 문서는 “매핑이 불가능하다”가 아니라 “자동으로는 안 되니 사람이 정의해야 한다”를 말한다. 실제 매핑표는 1단계 산출물이다. (2) 시리얼번호 커버리지는 표본 12건 기준이라 전수 확인이 필요하다. (3) Order Note 소실 판정도 표본 12건에서 Cin7 Note가 전부 비어 있던 것에 근거하므로, 일부 주문엔 값이 있을 수 있다. (4) 초과 494 라인의 성격(Walk-in·부품)은 2026-08 표본에서 확인한 패턴을 근거로 한 추정이며 전수 분류는 하지 않았다.