회계 ERP 개발을 위한 도메인 공부:

2024. 3. 14. 23:53개발 외 공부

728x90
반응형

#1. 회계(accounting) 기본 분석

1. 전표(Voucher)

https://blog.naver.com/robot179/220758971019

  • 위 블로그처럼 전표메인과 전표상세를 담는 테이블로 나뉘어야함
    • 전표메인
      • 전표상세의 집합
      • 하나의 전표안에 해당 전표를 나타내는 값들과 여러 계정과목 차대 내역을 가지고 있음.
        • 계정과목 내역은 전표상세 테이블로 미루고, 나머지 값들을 전표메인 테이블로
    • 전표상세
      • 계정과목 값들을 넣는 행을 담는 테이블
    • 전표관리항목
      • 전표상세에서 계정과목 값들 중, 계정과목 세팅에서 관리항목을 가지고 있는 값들에 대해 관리항목 값을 담는 테이블
        • 계정과목의 관리항목 세팅에 따라 전표상세 행 하나당 전표관리항목 행이 안 생길 수도, 하나 생길 수도, 두 개 이상 생길 수도 있음.

2. 재무상태표 (balance sheet)

  • 전표에서 파생
  • 재무제표
    • 특정 시점 기업의 재무상태
    • 분기 / 반기
  • 기업 자산 / 부채 / 자본
    • 자본
      • 자본금
      • 이익잉여금
        • 수익 - 비용
    • 자산
      • 유동자산 (current asset)
        • 당좌자산
          • 현금 / 현금성자산
          • 단기매매금융자산
          • 수취채권
          • 계약자산
        • 재고자산
          • 상품 / 제품 / 원재료
    • 부채
  • 기업의 재무 상태를 특정 시점에 대해 보여주는 보고서.
    • 계정별보조부의 자산, 부채, 자본 정보를 기반으로 작성됨.
      • 자산 - 차변
      • 부채, 자본 - 대변

3. 손익계산서 (income statement)

  • 전표에서 파생
    • 기존에 있는 테이블을 전표에서 오는 쿼리로 대체 해야할 수도 있음.
  • 비용 수익
    • 특정 기간 동안의 수익과 비용을 보여주는 보고서.
    • 순이익, 순손실 계산
  • 분개장의 수익, 비용 항목을 기반으로 작성됨.
    • 수익 — 대변
    • 비용 — 차변

4. 계정별보조부(ledger) - 전표 상세

  • 전표에서 파생
  • 특정 계정에 대한 자세한 내용을 보충적으로 기록하는 장부(보조 기입장, 보조 원장)
    • 분개장의 sub 테이블
    • 종류가 여러개 있음
      • 자산 / 부채 / 자본 / 수익과 비용
      • 보조부. 기록사항
  • 분개장에서 발생한 모든 거래가 계정별 보조부에 정리되어, 해당 계정의 잔액을 유지한다.
  • 각 계정의 현재 잔액을 확인하는 데 사용됨

5. 분개장(journal) - 거래 기록

  • 전표에서 파생
  • 거래를 모두 나열한 것
    • 전표 데이터 자체와 거의 흡사하다고 생각해도 될듯
  • 기업 거래를 총괄적으로 파악하고, 재무제표를 작성하는데 기초가 되는 장부
    • 차변 대변으로 구분하여 계정과목과 금액을 거래발생 순서로 기입하는 장부 == 전표
  • 거래를 시간 순서별로 분개하여 기입하는 정보
    • 각 거래의 출처와 세부 내역을 추적하는 데 사용
  • 분개장의 모든 거래가 정확하게 기록되었는지를 합계잔액시산표를 통해 확인할 수 있음

6. 합계잔액시산표(trial balance)

  • 전표에서 파생
  • 회계 상 일정 기간 동안 모든 계정과목의 합계와 잔액을 나타낸 시산표 형식
    • 차변, 대변의 항목을 각각 합계 및 잔액으로 구분하여 작성.
      • 차변 합계 / 대변 합계 / 차변 대변 차이
      • 차변합계, 대변합계, 그리고 잔액끼리는 반드시 일치해야 됨
        • 대차 평균의 원리
    • 테이블이 아니라 그냥 통계로 구현해도 될 것 같음.
      • dto만 따로 구현해서.
  • 최종적인 재무제표를 작성하기 위한 자료
    • 줄여서 합잔

#2. 전표데이터 분석

1. 계정과목 (account item)

https://blog.naver.com/PostView.naver?blogId=im_chungbin&logNo=221814567364

  • 계정대분류 및 차대에 대한 이해를 돕는 블로그

1) 계정과목

  • 계정과목 세팅을 담고 있는 템플릿
    • 차대 / 계정대분류 등 정보를 담음
    • 계정과목끼리의 구조는 해당 테이블에서 관리하지 않음
      • 계정과목 데이터만 관리
      • 계정과목 구조가 전표기준에 따라서 다르고, 전표기준을 사용자가 추가할 수 있기 때문.
  • 같은 이름의 계정과목인데 전표기준에 따라서 계정과목 내의 세팅 값(예를 들면 관리항목 유형) 등이 바뀔 여지가 있으면, 전표기준 대체 아이디, 혹은 전표기준 유형 column을 넣어줘서, 계정과목 템플릿 구성 시 특정 기준에서만 쓸 수 있는 계정과목을 만들어줄 수 있음.

2) 계정과목 템플릿

  • 전표기준에 따라 계정과목 구조를 어떻게 세팅할 건지를 담는 테이블
    • 트리구조
    • 계정과목 테이블에서 오는 데이터를 기준으로 현재 / 상위를 저장하여 트리 구성
      • 기존 메뉴테이블 구조랑 흡사
        • 차이점은 메뉴는 구조가 하나기에 테이블 하나로 메뉴 자체 데이터와 메뉴의 구조를 하나의 테이블에서 담을 수 있음.
        • 그러나 계정과목은 구조가 여러개라서, (또한 구조의 이름을 사용자가 지을 수 있어서) 테이블을 세 개로 나눠서 관리.
          • 계정과목: 계정과목 데이터 자체만 관리
          • 계정과목 템플릿: 계정과목의 id만 가지고 구조만 관리
          • 전표기준: 계정과목 구조의 명칭과 전표기준을 관리

3) 전표기준(회계기준)

  • 사용자가 추가하는 전표기준을 관리하는 테이블
  • 대략 회사당 4개의 행 예상

2. 관리항목 (management item)

1) 관리항목

  • 계정과목 테이블과 흡사.
    • 관리항목의 세팅 값만 저장
      • 관리항목의 묶음, 혹은 계정과목과의 연결은 고려하지 않음.
      • 이는 관리항목유형 / 관리항목유형 상세로 관리
  • 해당 테이블에는 처음 제공되는 값이 있음.
    • 해당 값들은 아래 테이블들이랑 관리항목시스템코드 값과 서버단 코드로 미리 연결이 되고, 전표 관리항목 테이블에서 해당 값들을 연결 지을 수 있음.
      • 거래처
      • 임직원
      • 계좌
      • 은행
      • 부서
  • 그 후의 값들은 사용자가 직접 추가.(대신 외부 테이블 참조는 관리항목시스템코드 내의 값들에 대해서만 가능)
    • 사실 위의 값들도, 미리 관리항목시스템코드를 구성하고, 각 시스템코드에 대한 대응이 이미 코드에서 구현이 되어있는 경우, 사용자가 해당 시스템코드들에 대해서 추가, 수정할 수 있음.
    • 관리항목시스템코드 중에 외부 테이블을 표현하는 값 제외하고, “텍스트” 라는 값을 넣어서, 해당 값은 관리항목이 그냥 key - value 형식으로 나타나게끔함.

2) 관리항목유형

  • 관리항목유형명만 담는 테이블
    • 비정규화를 통해 관리항목유형상세 테이블과 합칠 수 있지만, 의의가 크지 않아보여 우선 분리.
  • 관리항목과 관리항목유형은 N:N 구조
    • 그렇기에 관리항목유형상세 테이블을 따로 구현해, 각 관리항목유형은 어떤 관리항목들을 담고 있는 지 나타냄.
    • (같은 관리항목도 여러개의 관리항목유형을 가질 수 있음)
  • 각 VC마다 관리항목유형의 명칭과 구성을 다르게 지정할 여지가 있기에 해당 테이블을 시스템코드가 아닌 테이블로 구현

3) 관리항목유형상세

  • 각 관리항목유형이 어떤 관리항목으로 구성되어있는 지 나타내는 테이블
    • relationship 테이블
    • 따로 대체아이디 부과를 하지 않아도 될 것 같음.

#3. 대변, 차변 (Credit, Debit)

  • 양 측의 금액이 항상 균형을 이뤄야함

1) 차변 (Debit):

  • 빌리는 쪽
    • 자산(Assets)의 증가
    • 비용(Expenses)의 감소
    • 수익(Revenue)의 증가
    • 부채(Liabilities)의 감소
    • 자본(Equity)의 감소

2) 대변 (Credit):

  • 빌려주는 쪽
    • 자산(Assets)의 감소
    • 비용(Expenses)의 증가
    • 수익(Revenue)의 감소
    • 부채(Liabilities)의 증가
    • 자본(Equity)의 증가
728x90
반응형