매입단가 이력 관리ERP 단가 적용일매입 계약 버전단가 소급 변경 검수

매입단가 ERP 설계: 적용일·계약 버전·소급 변경 검수 기준

매입단가 이력 관리에서 발주일·입고일 등 가격 기준일과 계약 버전, 주문 당시 단가를 분리하는 방법을 설명합니다. 가상 단가 변경과 부분 입고 표본, 소급 조정·승인·연동 실패 검수표로 ERP 개발 범위를 비교하세요. 회계·세무 판단과 시스템 정책의 경계도 확인합니다.

이 글을 쓴 알파카랩스카카오·네이버·쿠팡 출신, 재하청 0%, 대기업·공공기관 등 18개사+ 레퍼런스

발행 ·알파카랩스

매입단가 이력 관리는 품목 마스터에 현재 가격을 하나 저장하는 기능이 아닙니다. 어떤 공급자·품목·통화·수량 조건에 어떤 기준일과 승인 버전을 적용했는지 남겨야 과거 발주를 재현할 수 있습니다. 계약 단가가 바뀌어도 승인된 주문을 자동으로 덮어쓰지 않고, 변경 대상과 차이·승인 근거를 분리해 검수하는 것이 핵심입니다.

구매 담당자가 단가를 수정했더니 과거 발주서의 금액까지 달라지거나, 같은 계약인데 발주 화면과 입고 화면이 다른 가격을 보여주는 문제가 생길 수 있습니다. 단가라는 이름으로 계약 조건, 주문 확정 값, 입고 검증과 정산 결과를 하나의 필드에 넣으면 원인을 찾기 어렵습니다. 어떤 날짜를 선택 기준으로 쓰고 어느 시점에 값이 고정되는지를 먼저 합의해야 합니다.

이 글은 거래처별 판매가격 일반론이 아니라 공급자에게 구매하는 계약 단가의 시간·버전·수정 흐름에 집중합니다. 구매 계약의 적용 기준일은 발주일, 요청 납기일, 실제 입고일 중 하나라고 임의로 정할 수 없습니다. 회사와 공급자가 합의한 정책을 확인하고 제품이 기본 제공하는 가격 계산 규칙과 맞는지 비교하세요. 가격 기준일과 전표 처리일이 같다는 전제도 두지 않습니다.

가상 검수 예시에서는 10월 1일부터 14일까지 단가 1,000원, 15일부터 1,100원인 계약을 사용합니다. 통화는 원화, 가격 단위는 1개, 세금과 할인은 제외하고 발주일 기준으로 선택한 단가를 승인 시 고정한다고 가정합니다. 이 숫자는 실제 판매·개발 가격이나 회계 기준이 아니며, 다른 정책을 쓰는 회사는 기대 결과를 바꿔야 합니다.

단가를 찾는 조건과 단가를 고정하는 시점을 구분합니다#

공급자와 품목 코드만으로 매입단가를 찾으면 수량 구간, 포장 단위와 통화가 다른 계약이 충돌할 수 있습니다. 우선 적용 규칙을 하나의 명세로 작성하고, 여러 계약이 동시에 맞을 때 자동 선택할지 오류로 보류할지 결정하세요. 가장 최근에 등록한 값이 무조건 우선이라는 숨은 규칙은 피합니다. 주문에는 선택한 계약 행과 버전, 가격 기준일과 계산된 단가를 함께 남겨 재현성을 확보합니다.

조건필요한 값충돌·변경 예외검수 기준
적용 대상공급자·품목·구매 법인같은 품목의 복수 계약승인된 우선순위 또는 보류
가격 조건통화·가격 단위·수량 구간1개 가격과 100개 가격 혼동단위 환산과 구간 경계 확인
시간 조건시작·종료일과 가격 기준일기간 겹침·공백·경계일조건 불명확 시 임의 선택 금지
확정 근거계약 버전·승인자·주문 스냅샷마스터 수정 뒤 과거 주문승인 주문의 과거 값 유지

14일 발주·16일 입고는 미리 합의한 정책대로 계산합니다#

이 예시에서는 발주일 기준으로 단가를 고정하므로 14일 승인한 100개 주문의 금액은 100,000원입니다. 16일에 60개가 먼저 도착해도 단가는 1,000원으로 유지되고, 남은 40개도 같은 주문 조건을 따릅니다. 반대로 입고일 기준 계약이라면 다른 결과가 나올 수 있으므로 아래 표를 모든 회사에 복사하면 안 됩니다. 입고 예정일을 바꿨다는 이유로 확정 단가가 조용히 바뀌는지 특히 확인하세요.

사건가정한 정책기대 단가·금액확인할 이력
10월 14일 100개 승인발주일 단가 고정1,000원·100,000원계약 V1·기준일 14일
10월 15일 계약 갱신신규 발주에 V2 적용기존 주문은 1,000원V1 보존·V2 승인
10월 16일 60개 입고기존 주문 조건 참조1,000원·60,000원원주문 행과 입고 60개
남은 40개 입고동일 주문의 부분 이행1,000원·40,000원누적 100개·잔량 0개

소급 변경은 과거 단가 덮어쓰기가 아니라 영향 검토입니다#

공급자가 적용일을 지난 날짜로 바꾼 계약을 보내면 시스템은 어떤 주문·입고·미확정 정산이 영향을 받는지 먼저 보여줘야 합니다. 계약 수정 자체와 개별 거래의 재가격 승인은 다릅니다. 승인되지 않은 초안은 새 조건으로 계산할 수 있지만, 확정·입고·마감 상태별로 허용할 조정은 회사 정책에 따라 달라집니다. 원거래와 조정 근거를 보존하고 재무 담당자가 확정한 경로만 실행하도록 요구하세요.

대상 상태설계상 검토자동 처리 위험인수할 증거
미승인 발주 초안다시 계산할지 담당자 확인저장만 해도 가격 변경이전·현재 가격 비교
승인 완료·미입고재승인과 공급자 전달 절차이미 보낸 주문서와 값 불일치변경 사유·승인·전달 기록
부분 입고입고분과 미입고분 정책 분리입고된 수량까지 소급 덮어쓰기수량별 영향·조정 연결
마감 완료권한 있는 담당자의 후속 조정기존 마감 자료 조용히 변경원거래·조정일·정책·승인

공식 구매계약 문서도 유효기간과 확정 버전을 따로 설명합니다#

Microsoft Dynamics 365 구매계약 문서는 해당 제품에서 계약의 유효기간, 가격 조건과 확정 시 저장하는 버전 이력을 설명합니다. 제품 설명의 적용 날짜가 회사의 발주일 기준 정책과 같다고 가정해서는 안 됩니다. 이 자료는 단가의 시간 조건과 버전 확인이 필요하다는 근거로 참고했고, 아래 소급 조정 절차는 발주 검수를 위한 설계 제안으로 구분합니다.

  • Microsoft Learn: Purchase agreements: 계약 가격·유효기간·확정 버전 이력의 공식 기능 설명입니다. 확인일은 2026년 10월 22일이며 국내 회계·세무 기준을 제시하지 않습니다.

단가 운영은 등록·승인·적용·정정을 서로 다른 작업으로 둡니다#

계약 단가를 등록하는 사람과 승인하는 사람, 예외 주문의 가격을 수정하는 사람을 구분하세요. 운영 규모에 따라 한 사람이 여러 역할을 맡을 수 있지만 어떤 권한으로 작업했는지는 남아야 합니다. 공급자에게 받은 파일을 저장했다고 자동으로 유효 계약이 되거나, 운영자가 화면을 조회할 권한만으로 확정 단가까지 수정할 수 있어서는 안 됩니다.

기간은 경계일의 포함 여부와 표준 시간대를 정해야 합니다. 일 단위 계약이라면 종료일 다음 날 새 계약이 시작하는지, 시간이 포함된다면 해외 공급자의 현지 시각을 어떻게 해석하는지 명세화하세요. 가격 업로드 시 기존 기간과 겹침·공백을 찾고, 매입 법인·품목·통화·구간이 같은 행을 비교해야 합니다. 겹침을 발견했을 때 임의로 최신 행을 선택하면 오류가 숨습니다.

단가 계산 과정도 추적할 수 있게 합니다. 원계약 단가, 가격 단위와 주문 단위 환산, 수량 구간, 할인과 반올림을 순서대로 표시하면 구매 담당자가 공급자 문서와 대조할 수 있습니다. 세금 포함 여부나 외화 환산은 가격 선택과 별도의 정책으로 분리하고, 특정 세율·환율 적용을 이 글의 가상 예시에서 가져오지 않습니다. 실제 기준은 회사 담당자가 확정해야 합니다.

대량 업로드는 전체 파일이 성공했는지보다 어떤 행이 적용됐는지를 보여줘야 합니다. 동일 파일 재전송 시 계약이 중복 생성되지 않고, 일부 행이 기간 충돌로 실패해도 성공한 행을 다시 넣지 않도록 결과를 제공합니다. 업로드 묶음 ID, 원본 행 번호, 승인 대기와 적용 결과를 연결하고 운영자가 실패 행을 보완해 다시 제출하는 절차를 문서화하세요.

발주서를 외부에 전달한 뒤 단가가 바뀌면 내부 변경과 상대방 전달을 연결합니다. 새 버전을 이메일이나 포털로 보냈다는 기록과 상대방 확인 여부는 다를 수 있으므로, 회사가 요구하는 확인 절차를 상태로 표현하세요. 변경 전 PDF가 첨부된 채 새 단가만 화면에 보이는 상황, 연동 대상 ERP가 이전 버전을 재수신하는 상황도 운영 예외에 포함합니다.

기존 데이터 이관에서는 현재 단가만 가져오지 말고 미종결 주문이 어떤 계약을 참조하는지 확인해야 합니다. 과거 계약 원문을 확보하지 못했다면 당시 주문에 저장된 확정 값을 보존하고 근거 미확인 표시와 담당자를 둡니다. 추정한 버전을 실제 승인 이력처럼 만들어서는 안 됩니다. 운영자가 변경 전후 영향 목록을 확인하고 잘못된 적용을 승인된 정정으로 복구하는 과정까지 인수하세요.

구매 요청부터 발주·납기와 입고를 연결하는 전체 흐름은 발주 관리 시스템에서 확인하세요. 가격 외에 거래 잔량과 반품 상태의 검수는 ERP 반품·부분출고 검수에서 별도 수량 표본으로 다룹니다.

검수는 날짜 경계·부분 입고·소급 변경의 세 묶음으로 합니다#

날짜 경계 시험에서는 14일과 15일 각각 같은 공급자·품목의 주문을 만들고 기대 버전이 선택되는지 확인합니다. 계약 기간이 겹친 행, 비어 있는 하루와 만료된 계약도 넣어 보세요. 단가를 찾지 못했을 때 0원이나 과거 마지막 값으로 조용히 저장하지 않고 승인된 오류·예외 절차로 넘어가는지 확인해야 합니다. 선택한 계약의 버전과 기준일은 화면과 내보내기에서 함께 확인합니다.

부분 입고 시험은 예시 주문 100개를 60개와 40개로 나누고 두 입고 사이에 새 계약을 승인하는 방식입니다. 발주일 고정 정책을 가정했으므로 기존 주문의 단가와 금액은 변하지 않아야 합니다. 미입고 40개의 납기만 바꾸거나 주문 수량을 늘렸을 때 재가격이 필요한 조건도 사전에 정하고, 필요한 경우에는 차이 확인과 재승인을 거치는지 검수하세요.

소급 변경 시험에서는 V2의 시작일을 10월 10일로 제안하는 미승인 계약을 만듭니다. 영향 목록에 기존 주문 100개가 표시되더라도 승인 없이 주문이 바뀌지 않아야 합니다. 일부 수량만 조정한다면 원거래 단가, 조정 단가와 대상 수량을 각각 확인하세요. 금액 차이를 기존 거래 총액에 덮어쓰는 대신 담당자가 확정한 후속 처리와 연결되는지 검수합니다.

연동 시험에서는 같은 계약 버전을 두 번 보내고, 새 버전 도착 후 이전 버전을 늦게 보내는 상황을 재현합니다. 수신 시스템이 오래된 버전으로 되돌아가거나 조정을 두 번 반영하지 않는지 확인하세요. 두 담당자가 같은 초안을 동시에 수정했을 때 승인자가 본 내용과 실제 확정 내용이 일치하는지도 시험합니다. 변경 충돌을 숨기지 않고 다시 확인하도록 하는 근거가 필요합니다.

최종 인수 산출물에는 가격 선택 규칙, 계약·주문·조정 데이터 사전, 기간 충돌 보고서와 변경 승인 매뉴얼을 포함하세요. 운영자가 임의 표본 한 건에서 최종 단가의 원계약과 계산 경로를 찾아 설명하도록 요청합니다. 견적서에는 단가 마스터 화면과 계산 엔진, 주문 재가격, 외부 전달·정정 연동을 나눠 적어 기능명만 같은 제안을 비교하지 않도록 합니다.

핵심 요약

  • ✓가격을 선택하는 날짜와 주문 단가를 고정하는 시점을 명세로 만듭니다.
  • ✓계약 버전과 주문 당시 계산 값을 함께 보존해 과거 발주를 재현합니다.
  • ✓소급 변경은 영향 목록·차이·재승인·후속 조정으로 검수합니다.
  • ✓기간 충돌, 부분 입고, 오래된 버전 재수신을 정상 흐름과 함께 시험합니다.

자주 묻는 질문