📦 남해운송 × 카페24 주문 자동화 대시보드

패킹베어 · 소싱(1688) → 남해운송 구매대행 → 3PL(솔길로지스) → 카페24 배송까지 전 사이클 관리

🛒 카페24 주문조회

카페24 로그인 후 주문조회 열기 →

로그인되어 있으면 배송 준비중 주문목록이 바로 열립니다. 로그인되어 있지 않으면 카페24 관리자 로그인 화면이 먼저 나오며, 로그인 후 주문조회 화면으로 이동합니다. 주문 누락 방지를 위해 조회기간과 검색결과 총 건수를 확인하세요.

🚚 남해운송 주문조회

남해운송 로그인 후 주문목록 열기 →

로그인되어 있으면 신청관리 주문목록이 바로 열립니다. 로그아웃 상태이면 남해운송 로그인 후 다시 이 버튼을 누르세요. 아이디와 비밀번호는 대시보드에 저장하지 않고 Chrome 비밀번호 관리자의 자동완성을 사용합니다.

매핑 테이블 (1688 ↔ 카페24)

1688 상품번호1688 색상카페24 상품명카페24 옵션단가
1017247925598灰色쿠션핸들 보스턴 크로스백어반 그레이¥32.50
1017247925598黑色쿠션핸들 보스턴 크로스백시크 블랙¥32.50
1017247925598琥珀色❌ 미등록¥32.50
1045259543402灰色컴포트 트래블 나일론 크로스백그레이¥29.00
1045259543402黑色❌ 미등록(아이보리/그레이만 존재)¥29.00
975447638184黑色데일리 라이트 모던 슬링백블랙¥27.99

⚠️ 매핑에 없는 색상은 입고돼도 카페24에서 판매 불가합니다. 1688 주문 전 반드시 대조하세요.

① 자동 발주 예측 (카페24 배송준비중 실데이터 기반)

⚙️ 수동 입력 없음 — 카페24 "배송 준비중 관리 → 상품별" 화면에서 조회한 실제 미발송 주문 데이터를 근거로 자동 계산합니다.
공식: 권장발주량 = 미발송수량 − 옵션재고 + 안전재고(미발송수량의 30%, 최소 1개, 현재고 0 기준 보수적 버퍼)

📅 데이터 조회 기준: 카페24 배송준비중 관리 · 상품별 · 결제일 기준 3개월(2026-06-01~2026-09-01) · 조회 시각: 방금 확인

상품코드상품명옵션미발송옵션재고안전재고권장 발주량
P00000BF임포트 트래블 나일론 크로스백그레이2013
P00000BF임포트 트래블 나일론 크로스백블랙2013
P00000BF임포트 트래블 나일론 크로스백아이보리1012
P00000BG데일리 라이트 모던 숄빽블랙220729
P00000BL쿠션핸들 보스턴 크로스백시크 블랙2013
P00000BL쿠션핸들 보스턴 크로스백액티브 오렌지1012
P00000BL쿠션핸들 보스턴 크로스백어반 그레이3014
합계3301346

⚠️ "데일리 라이트 모던 숄빽(블랙)"이 미발송 22개로 압도적 1위 — 재고 0, 우선 발주 대상입니다.
매핑 테이블(아래 홈 탭 참고) 대조 후 1688에서 위 수량대로 주문하세요. 이 표는 카페24 로그인 후 재조회할 때마다 최신값으로 갱신해드립니다.

📦 LCL 해운 부피/운임 계산기

공식: 개당부피(cbm) = 가로×세로×높이 ÷ 1,000,000 ・ 청구부피 = MAX(0.5, 총부피) ・ 운임 = 청구부피 × 90,000(청도 LCL 로얄등급 기준)

값을 입력하고 계산하기를 눌러주세요.

② 예상 납품일 계산기 (남해운송 → 카페24 발송예정일)

공식: 양주입고예정 = 부가작업 완료일 + 5일 ・ 고객발송가능일 = 양주입고 + 1~2일 ・ 카페24 발송예정일 = 고객발송가능일 + 안전마진(3~7일)

날짜를 입력하고 계산하기를 눌러주세요.

진행상태 단계 (남해운송)

신청대기 → 견적요청 → 결제대기 → 결제완료 → 주문완료 → 배송전환완료 → 접수신청 → 입고처리중입고완료 → 포장준비중 → 출고대기 → 출고완료(양주 입고)

실측 리드타임 사례 (26H000972)

구간날짜소요
신청2026-08-17 09:16
미싱작업 진행 확인2026-08-236일
출고완료 → 양주 입고2026-08-285일
신청 → 양주 입고 전체11일

④ 원가·마진 계산기

개당 착지원가 = 상품원가 + 국제운임 + 관세 + 검수·핸들링 + 3PL작업비 + 국내택배비 ・ 마진 = 판매가 − 착지원가 − 결제수수료(3.5%)

값을 입력하고 계산하기를 눌러주세요.

전체 사이클 (9단계)

  1. [1] 카페24 배송준비중 관리
    기간 확대 + 총건수 확인 + rows=100 → 품목별 미발송 수량 집계
  2. [2] 발주량 산출
    미발송수량 + (일평균판매 × 리드타임 11일) + 안전재고 → 「발주량 계산」 탭 사용
  3. [3] 1688 소싱
    상품번호 / 단가 티어 / 실측 치수 → cbm → LCL 0.5cbm 충족 여부 → 「LCL 부피」 탭 사용
  4. [4] 남해운송 발주 (Buy_W1.asp)
    청도 · 사업자항공/LCL · 구매대행 / 수취인=패킹베어 / 배송지=솔길로지스 / 부가서비스 17·78·18·20·21·22·13
  5. [5] 진행 추적 (Order_V.asp)
    입고완료 → 미싱 등 부가작업 → 출고완료 → 양주 입고
  6. [6] 예상납품일 산출
    부가작업 완료 +5일=양주입고 / +1~2일=고객발송가능 / +안전마진=카페24 발송예정일 → 「예상납품일」 탭 사용
  7. [7] 카페24 발송예정일 등록
    배송준비중 관리에서 대상 체크 → 발송예정일 등록 → 달력 클릭 → 저장 → 주문상세에서 검증
  8. [8] 3PL 입고 내역서 작성
    시트명=양주창고 입고일 / 상품명은 카페24 옵션명 기준 / 옵션별 행 분리 / 썸네일 필수(삽입>그림>이 디바이스)
  9. [9] 발주 vs 실주문 대조
    과부족 계산 + 옵션 매핑 존재 여부 확인 → 다음 사이클 [2]로 피드백

✅ 현재 미해결 항목 체크리스트

체크 상태는 이 브라우저에 자동 저장됩니다.

🧩 자주 쓰는 JS 스니펫 (브라우저 콘솔에 붙여넣기)

⚠️ 이 스니펫들은 카페24/남해운송 관리자 화면의 개발자도구(콘솔)에서 실행하는 용도입니다. 로그인·약관동의·결제 등은 절대 자동화하지 말고 직접 진행하세요.

기간 확대 후 재검색 (카페24 배송준비중)
(()=>{
  const s = document.querySelector('[name=start_date]');
  s.value = '2026-08-01';
  s.dispatchEvent(new Event('change', {bubbles:true}));
  const b = [...document.querySelectorAll('a,button,input')]
    .find(e => ((e.innerText||e.value||'').trim() === '검색'));
  b.click();
  return 'searching from ' + s.value;
})()
페이지 크기 100으로 확대 (페이지네이션 함정 방지)
(()=>{
  const s = [...document.querySelectorAll('select')]
    .find(x => [...x.options].some(o => /100/.test(o.text) && /개/.test(o.text)));
  s.value = [...s.options].find(o => /100/.test(o.text)).value;
  s.dispatchEvent(new Event('change', {bubbles:true}));
  return 'rows -> ' + s.value;
})()
품목별 수량 집계
(()=>{
  const hdr = [...document.querySelectorAll('table tr')]
    .find(r => /수량/.test(r.innerText) && r.querySelectorAll('th,td').length > 6);
  const cells = hdr ? [...hdr.querySelectorAll('th,td')]
    .map(c => c.innerText.replace(/\s+/g,' ').trim()) : [];
  const qi = cells.findIndex(c => c === '수량');
  const rows = []; let tot = 0;
  document.querySelectorAll('table tr').forEach(tr => {
    const tds = [...tr.querySelectorAll('td')]
      .map(c => c.innerText.replace(/\s+/g,' ').trim());
    const t = tds.join(' ');
    const ord = (t.match(/\d{8}-\d{7}/)||[])[0];
    if (!ord || ord === '02020101-1234567') return;
    const p = /데일리/.test(t) ? '슬링백'
            : /컴포트/.test(t) ? '컴포트'
            : /쿠션핸들/.test(t) ? '보스턴' : '?';
    const n = parseInt(tds[qi]) || 1;
    tot += n;
    rows.push(ord + ' | ' + p + ' | ' + n + '개');
  });
  return 'rows=' + rows.length + ' 총수량=' + tot + '\n' + rows.join('\n');
})()
발송예정일 등록 — 1) 다음 달 이동
(()=>{
  const m = document.querySelector('#layerExpectShip');
  const nx = [...m.querySelectorAll('button,a')]
    .find(e => /duet-date__next/.test(e.className||''));
  nx.click();
  return 'next month';
})()
발송예정일 등록 — 2) 날짜 클릭 (YYYY-MM-DD 수정 필요)
(()=>{
  const m = document.querySelector('#layerExpectShip');
  const d = [...m.querySelectorAll('button')]
    .filter(b => /duet-date__day/.test(b.className||'')
              && !/is-outside|is-disabled/.test(b.className||''))
    .find(b => /2026-09-12/.test(b.innerText||''));
  d.click();
  const vis = document.getElementById('shipping_expected_date_input');
  const chk = [...document.querySelectorAll('input[name="chk_id[]"]')]
    .filter(c => c.checked).length;
  return 'date=' + vis.value + ' checked=' + chk;
})()
발송예정일 등록 — 3) 저장
(()=>{
  const m = document.querySelector('#layerExpectShip');
  const s = [...m.querySelectorAll('a,button')]
    .find(e => e.innerText.trim() === '저장' && /btnCtrl/.test(e.className||''));
  s.click();
  return 'SAVED';
})()
등록 검증 (order_detail.php에서 실행)
(()=>{
  const v = [...new Set([...document.querySelectorAll('input')]
    .map(e => e.value||'').filter(x => /^2026-09-\d\d$/.test(x)))];
  const b = document.body.innerText.replace(/\s+/g,' ');
  const i = b.indexOf('발송예정일');
  return '9월값=' + v.join(',') + '\n' + (i>=0 ? b.slice(i, i+90) : '없음');
})()
대상 상품 체크박스 선택 (품목 키워드 수정 필요)
(()=>{
  let n = 0; const p = [];
  document.querySelectorAll('table tr').forEach(tr => {
    const t = tr.innerText.replace(/\s+/g,' ');
    const ord = (t.match(/\d{8}-\d{7}/)||[])[0];
    if (!ord || ord === '02020101-1234567') return;
    const cb = tr.querySelector('input[name="chk_id[]"]');
    if (!cb) return;
    if (/데일리/.test(t)) {
      if (!cb.checked) { cb.click(); n++; }
      p.push(ord);
    } else if (cb.checked) {
      cb.click();
    }
  });
  return 'selected=' + n + '\n' + p.join(', ');
})()
부가서비스 일괄 체크 (남해운송 발주서)
(()=>{
  const want = ['78','18','20','21','22'];
  const r = [];
  document.querySelectorAll('input[type=checkbox]').forEach(e => {
    if (want.includes(e.value) && !e.checked) {
      e.click();
      r.push(e.value + ':' + (e.checked ? 'ON' : 'FAIL'));
    }
  });
  return r.join(', ') || 'none';
})()