본문으로 건너뛰기
재고 관리

재고 관리

Beancount에서 재고를 효과적으로 관리하는 방법을 알아봅니다. 주식과 통화 같은 자산 추적, 취득 원가 이해, 더 나은 포트폴리오 성과를 위한 자본 이득 계산에 중점을 둡니다.

Beancount재고 시스템은 주식, 뮤추얼 펀드 또는 외화와 같이 시간에 따라 사고파는 자산을 추적하기 위한 강력한 기능입니다. 이는 자본 이득 계산과 포트폴리오 성과 이해에 필수적인 취득 원가의 정확한 추적을 가능하게 합니다. 이 튜토리얼은 장부에서 재고를 관리하는 핵심 메커니즘을 다룹니다.

핵심 개념

재고 관리의 핵심은 포지션 추적에 있습니다. "포지션"은 계좌에 보유된 상품의 수량입니다. Beancount는 두 가지 기본 포지션 유형을 구분합니다.

포지션 유형

  1. 단순 포지션 (취득 원가 없음): 이는 표준 잔액 기입입니다. 취득 원가 없이 상품의 수량을 나타냅니다. 현금 또는 간단한 잔액 확인에 적합합니다.

    Assets:Bank:Checking      100.00 USD
  2. 취득 원가가 있는 포지션: 이 유형의 포지션은 수량과 상품뿐만 아니라 취득 시점의 원가도 포함합니다. 이는 재고 추적의 기초입니다. 원가는 중괄호 {} 안에 지정됩니다.

    Assets:Invest:VTSAX      10 VTSAX {100.00 USD, "lot-1"}

    이 예시에서는 10단위의 VTSAX를 보유하고 있습니다. 각 단위는 100.00 USD의 원가로 취득되었습니다. 이 특정 주식 배치를 "로트"라고 식별합니다.

재고 연산

재고에 대해 수행할 수 있는 두 가지 주요 연산이 있습니다.

  1. 증가 (재고에 추가): 상품을 매수하면 재고가 증가합니다. 특정 수량과 취득 원가를 가진 새 로트를 생성합니다.

    2024-01-15 * "주식 매수"
      Assets:Invest:STOCK     50 STOCK {25.00 USD, "lot-1"}
      Assets:Bank:Checking   -1250.00 USD

    여기서는 단위당 25.00 USD의 원가로 STOCK 50단위를 매수합니다. 이는 Assets:Invest:STOCK 계좌에 로트를 생성합니다.

  2. 감소 (재고에서 제거): 상품을 매도하면 재고가 감소합니다. 어느 로트에서 매도하는지 지정해야 합니다. 이는 중괄호 안에 일치 정보를 제공하여 수행됩니다.

    2024-01-20 * "주식 매도"
      Assets:Invest:STOCK    -25 STOCK {25.00 USD}
      Assets:Bank:Checking    625.00 USD

    거래에서는 단위당 25.00 USD에 매수한 로트에서 STOCK 25단위를 매도합니다.

부기 방식

재고를 감소시킬 때 여러 로트가 일치하거나 일치가 모호한 경우, Beancount는 특정 로트를 선택하는 규칙이 필요합니다. 이 규칙을 "부기 방식"이라고 합니다. 파일 전체에 기본 방식을 설정하거나 각 계좌에 대해 지정할 수 있습니다.

1. STRICT (엄격, 기본값)

STRICT 방식은 기본값이며 가장 안전한 부기 방식입니다. 명시적이고 모호함이 없는 일치를 강제합니다.

2024-01-01 open Assets:Invest:STOCK "STRICT"
  • 정확한 로트 일치 필요: 감소 기입({...})에서 매도하는 로트를 고유하게 식별할 수 있는 충분한 정보를 제공해야 합니다.
  • 모호한 일치 시 오류: 제공된 정보가 여러 로트와 일치하면 Beancount는 오류를 발생시켜 더 구체적으로 지정하도록 합니다.
  • 예외: 감소 기입이 계좌에 보유된 총 단위 수를 정확히 제거하는 경우, 빈 비용 지정자({})가 허용됩니다.

2. FIFO (선입선출)

FIFO 방식은 가장 오래된 사용 가능한 로트부터 자동으로 감소를 부기합니다.

2024-01-01 open Assets:Invest:STOCK "FIFO"
  • 자동 해결: 가장 오래된 일치 로트를 선택하여 모호성을 해결합니다.
  • 시간 순서 일치: 가장 오래 보유한 자산을 먼저 판매한다고 가정하는 일반적인 회계 방식입니다. 많은 국가에서 세무 목적으로 요구되는 방식입니다.

3. LIFO (후입선출)

LIFO 방식은 FIFO의 반대입니다. 가장 최근에 사용 가능한 로트부터 감소를 부기합니다.

2024-01-01 open Assets:Invest:STOCK "LIFO"
  • 역시간 순서: 감소 기준과 일치하는 가장 최근에 취득한 로트를 선택합니다.
  • 세금 최적화: 일부 관할권에서는, 예를 들어 자본 이득을 최소화하기 위해 취득 원가가 가장 높은 주식을 먼저 매도하는 등 세금 최적화에 사용될 수 있습니다.

4. NONE (없음)

NONE 방식은 로트 일치를 완전히 비활성화합니다.

2024-01-01 open Assets:Invest:STOCK "NONE"
  • 로트 일치 없음: Beancount는 감소를 증가와 일치시키려고 시도하지 않습니다.
  • 혼합 부호 허용: 이는 계좌가 동일한 상품의 양수 및 음수 잔액을 동시에 보유할 수 있게 합니다. 이 동작은 Ledger CLI 도구가 상품을 처리하는 방식과 유사합니다.

로트 지정

"로트"는 특정 시간과 가격에 취득한 상품의 특정 블록입니다. 포지션을 생성하거나 감소시킬 때 로트의 속성을 자세히 지정할 수 있습니다.

전체 지정

재고를 증가(매수)할 때 로트에 대해 최대 세 가지 속성을 지정할 수 있습니다.

Assets:Invest:STOCK  10 STOCK {
    100.00 USD,           # 취득 원가 (단위당 원가)
    2024-01-15,           # 취득일
    "lot-identifier"      # 고유 문자열 레이블
}

세 가지 모두 선택 사항이지만, 최소한 취득 원가를 제공하는 것이 표준 관행입니다.

일치 방법

재고를 감소(매도)할 때 동일한 구문을 사용하여 매도할 로트를 지정합니다.

  • 원가로 일치: 가장 일반적인 방법입니다.

    Assets:Invest:STOCK  -5 STOCK {100.00 USD}
  • 날짜로 일치: 원가가 동일한 경우 취득일을 사용하여 구분할 수 있습니다.

    Assets:Invest:STOCK  -5 STOCK {2024-01-15}
  • 레이블로 일치: 레이블은 로트를 식별하는 확실한 방법을 제공합니다.

    Assets:Invest:STOCK  -5 STOCK {"lot-identifier"}
  • 모든 로트 일치: 빈 중괄호 {}는 사용 가능한 모든 로트와 일치합니다. 이는 종종 특정 로트가 자동으로 선택되는 FIFO 또는 LIFO 부기와 함께 사용됩니다.

    Assets:Invest:STOCK  -5 STOCK {}

가격 처리

취득 원가({})와 가격(@)의 차이를 이해하는 것이 중요합니다. 이들은 서로 다른 목적을 가지며 상호 교환할 수 없습니다.

가격 vs 원가

  • {원가}: 자산의 취득 원가를 정의합니다. 이는 재고 로트 자체의 일부이며 감소 부기 및 자본 이득 계산에 사용됩니다.
  • @ 가격: 거래 시점의 시장 가격을 기록하는 주석입니다. 이는 통화 변환 또는 특정 날짜의 시장 가치를 기록하는 데 사용됩니다.

세 가지 시나리오는 다음과 같습니다.

  1. 가격 주석 (변환): 한 통화에서 다른 통화로 변환하려면 @를 사용합니다.

    Assets:Forex     1000 USD @ 0.85 EUR
  2. 취득 원가 (취득): 자산을 매수할 때 원가를 설정하려면 {}를 사용합니다.

    Assets:Invest    10 STOCK {100.00 USD}
  3. 둘 다 (가격 기록과 함께 매도): 자산을 매도할 때 {}를 사용하여 매도할 로트를 식별하고 @를 사용하여 매도 가격을 기록합니다. 이를 통해 자동으로 자본 이득을 계산할 수 있습니다.

    Assets:Invest    -10 STOCK {100.00 USD} @ 105.00 USD

    이 기입은 각각 100.00 USD에 매수한 로트에서 STOCK 10단위를 매도 가격 105.00 USD에 매도합니다.

가격 사용 규칙

  1. 가격 주석(@)은 어느 로트가 부기되는지에 영향을 미치지 않습니다. 로트 일치는 전적으로 취득 원가({})와 계좌의 부기 방식에 의해 처리됩니다.
  2. @ 기호는 다음 용도로만 사용됩니다.
  • 통화 변환.
  • 거래 시점의 자산 시장 가치 기록.
  • 자본 이득 계산을 위한 매도 가격 제공.

구성

부기 방식은 전역적으로 또는 계좌별로 구성할 수 있습니다.

전역 부기 방식

option 지시문을 사용하여 전체 Beancount 파일의 기본 부기 방식을 설정할 수 있습니다.

option "booking_method" "STRICT"

사용 가능한 옵션은 "STRICT", "FIFO", "LIFO", "NONE"입니다.

계좌별 재정의

계좌마다 다른 방식을 사용하는 것이 유용할 때가 많습니다. 예를 들어, 퇴직 계좌에는 FIFO를 사용하고 과세 증권 계좌에는 STRICT를 사용하여 특정 세금 로트를 매도하도록 할 수 있습니다. 계좌를 개설할 때 부기 방식을 설정할 수 있습니다.

2024-01-01 open Assets:Retirement:401K "FIFO"
2024-01-01 open Assets:Taxable:Stock  "STRICT"

모범 사례

  1. 재고 구성: 장부를 깔끔하고 단순하게 유지하려면 보유하는 각 고유 상품에 대해 별도의 계좌를 사용하는 것이 좋습니다.

    # 좋은 예: 상품별로 계좌 구분
    Assets:Invest:VTSAX    ; VTSAX 포지션만 여기에
    Assets:Invest:VFIAX    ; VFIAX 포지션만 여기에

    동일한 계좌에 다른 주식이나 펀드를 혼합하면 재고 관리가 복잡해지므로 피하십시오.

  2. 로트 관리:

  • 특히 세금 손실 회수 또는 직원 주식 부여와 같은 특정 거래에 대해 로트에 의미 있는 레이블을 사용하십시오.

    Assets:Invest:STOCK  10 STOCK {100.00 USD, "tax-loss-harvest-2024"}
  • 거래에 주석을 문서화하십시오. 이렇게 하면 장부를 나중에 더 쉽게 읽고 이해할 수 있습니다.

    Assets:Invest:STOCK  -10 STOCK {100.00 USD} @ 110.00 USD ; 이익: 10%
  1. 디버깅: 오류나 예상치 못한 동작이 발생하면 Beancount는 재고 상태를 검사하는 도구를 제공합니다.
  • 재고 상태 검사: bean-doctor 도구는 파일의 모든 시점에서 모든 재고의 정확한 상태를 보여줄 수 있습니다.

    <LINENO>를 거래 직후의 줄 번호로 바꾸면 그 효과를 확인할 수 있습니다.

  • 로트 일치 확인: bean-check 도구는 전체 파일의 유효성을 검사합니다. STRICT 모드에서 모호한 로트 일치와 같은 부기 오류를 찾아냅니다.

약 7분

Cin7 vs. Katana vs. inFlow: 2026년 제품 기반 소상공인이 재고 관리 소프트웨어를 선택하는 방법

Cin7, Katana, inFlow는 서로 다른 재고 문제를 해결합니다. 계약을 확정하기 전에 판매 채널, BOM 요구 사항, 통합 기능을…

small-business
inventory
약 10분

소규모 비즈니스를 위한 재고 관리 및 회계: 실용 가이드

효과적인 재고 관리는 매출과 운영 효율성에 영향을 미치므로 소규모 비즈니스에 매우 중요합니다. 이 가이드는 재고 전략을 최적화하는 데 도움이…

accounting
small-business
약 11분

소규모 비즈니스를 위한 재고 관리: 비용 통제 및 수익 증대를 위한 완벽 가이드

효과적인 재고 관리는 소규모 비즈니스가 품절 및 과잉 재고로 인한 수익 손실을 방지하는 데 매우 중요합니다. 비용을 통제하고 수익을 늘리기…

small-business
financial-management
약 15분

USDA의 새로운 SNAP 재고 규정: 11월 4일에 EBT 승인을 결정하는 84개 품목 재고 테스트

2026년 11월 4일부터 SNAP 승인을 받은 소규모 매장은 4개 주식품 카테고리 각각에서 7가지 품목(총 84개, 기존 36개에서 증가)을…

small-business
retail
약 17분

도매 유통업체 부기: 운임비, 공급업체 리베이트, 그리고 위탁 재고

도매 유통업체의 이익률과 대차대조표를 왜곡시키는 세 가지 부기 오류 — 운임비를 착지원가에 자본화하기, 공급업체 리베이트를 수익이 아닌…

bookkeeping
inventory