<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Hledger Intro on shlewislee.me</title>
    <link>https://shlewislee.me/ko/series/hledger-intro/</link>
    <description>Recent content in Hledger Intro on shlewislee.me</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ko</language>
    <managingEditor>shlewislee@shlewislee.me (shlewislee)</managingEditor>
    <webMaster>shlewislee@shlewislee.me (shlewislee)</webMaster>
    <copyright>Copyright (c) 2026 shlewislee. All Rights Reserved</copyright>
    <lastBuildDate>Fri, 18 Apr 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://shlewislee.me/ko/series/hledger-intro/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>📊 hledger 소개 및 설치: 텍스트 파일로 회계하기</title>
      <link>https://shlewislee.me/ko/blog/hledger_intro_1/</link>
      <pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate><author>shlewislee@shlewislee.me (shlewislee)</author>
      <guid>https://shlewislee.me/ko/blog/hledger_intro_1/</guid>
      <description>&lt;h2 id=&#34;why&#34;&gt;Why&lt;/h2&gt;&#xA;&lt;p&gt;많은 가계부/자산관리 앱들이 있고, &lt;a href=&#34;https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0#%EA%B8%88%EC%9C%B5_%EB%A7%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0&#34;&gt;마이데이터&lt;/a&gt;가 생겨난 이후 거의 모든 금융/은행 앱들이 기존 금융사들과 연동된 가계부 서비스를 제공하고있다.&lt;/p&gt;&#xA;&lt;p&gt;하지만 개인정보 문제는 둘째치고 그런 앱들은 기능적으로 꽤나 부족하다. 많은 경우 그냥 자산 조회 선에 그치고 가계부도 간단한 단식부기식 기록에 그치기때문에 한계가 명확하다. 거기에 수많은 &lt;em&gt;간편결제&lt;/em&gt; 서비스들이 난립하면서, 많은 경우 거래내역에 prefix로 &lt;code&gt;OO페이_&lt;/code&gt;가 붙게되면서 제대로 거래 분류를 하지 못하는가하면, 거래 내역 자체가 &lt;code&gt;주식회사 OOO&lt;/code&gt; 등 명확하지 않은 경우도 적지 않아서 seamless한 경험이라고 부르기에는 무리가 있다. 일례로 용산 아이파크몰에서는 어느곳에서 결제하든 거의 모두 &lt;code&gt;에이치디씨아이파크몰 주식회사&lt;/code&gt;로 뜨기때문에 소비 카테고리 분류가 제대로 되지 않는다&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="why">Why</h2>
<p>많은 가계부/자산관리 앱들이 있고, <a href="https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0#%EA%B8%88%EC%9C%B5_%EB%A7%88%EC%9D%B4%EB%8D%B0%EC%9D%B4%ED%84%B0">마이데이터</a>가 생겨난 이후 거의 모든 금융/은행 앱들이 기존 금융사들과 연동된 가계부 서비스를 제공하고있다.</p>
<p>하지만 개인정보 문제는 둘째치고 그런 앱들은 기능적으로 꽤나 부족하다. 많은 경우 그냥 자산 조회 선에 그치고 가계부도 간단한 단식부기식 기록에 그치기때문에 한계가 명확하다. 거기에 수많은 <em>간편결제</em> 서비스들이 난립하면서, 많은 경우 거래내역에 prefix로 <code>OO페이_</code>가 붙게되면서 제대로 거래 분류를 하지 못하는가하면, 거래 내역 자체가 <code>주식회사 OOO</code> 등 명확하지 않은 경우도 적지 않아서 seamless한 경험이라고 부르기에는 무리가 있다. 일례로 용산 아이파크몰에서는 어느곳에서 결제하든 거의 모두 <code>에이치디씨아이파크몰 주식회사</code>로 뜨기때문에 소비 카테고리 분류가 제대로 되지 않는다<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup>.</p>
<p>그밖에도 1) Migration/Backup이 제한되는 점 2) 대부분 한 플랫폼(모바일)에 종속되는 점, 3) 카드 결제 처리, 특히 결제(부분/전체) 취소의 반영이 늦는 점 등 여러가지 단점이 있다. 그래서 조금 번거롭더라도 오픈소스로 대안을 찾기 시작했다.</p>
<h2 id="pta-그리고-hledger">PTA, 그리고 hledger</h2>
<p>여러 대안중 가장 눈에 들어온 것은 GNU/Cash와 Plain-text-accounting(이하 PTA) 소프트웨어들이었다. PTA는 이름에서 알 수 있다시피 특정 소프트웨어를 지칭하는 말이 아닌 Plaintext, 즉 평문 파일에 회계 정보를 기록하는 것을 의미한다. 가장 간단하게는 <a href="https://news.ycombinator.com/item?id=20020392">노트 형식의 daybook</a>도 PTA의 일종으로 볼 수 있지만, 일반적으로 PTA라 말하면 PTA에서 가장 대표적인 프로그램인 ledger의 포맷과 그와 비슷한 ledger-like 프로그램들과 포맷을 사용하는 것을 전제로 한다. 아래는 아주 간단한 hledger 형식의 거래이다:</p>





<pre tabindex="0"><code>2025-04-20 교보문고
    expenses:books           10,000 KRW 
    assets:cash             -10,000 KRW

2025-04-20 월급
    income:salary           -100,000 KRW
    assets:bank              100,000 KRW</code></pre><p>책에 10,000원을 쓰고, 월급을 100,000원 받은 것을 이렇게 간단하게 기록만 해 두면 다음과 같은 보고서<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>를 받아볼 수 있다:</p>





<pre tabindex="0"><code>$ hledger is
Income Statement 2025-04-20

                ||  2025-04-20
================++=============
 Revenues       ||
----------------++-------------
 income:salary  || 100,000 KRW
----------------++-------------
                || 100,000 KRW
================++=============
 Expenses       ||
----------------++-------------
 expenses:books ||  10,000 KRW
----------------++-------------
                ||  10,000 KRW
================++=============
 Net:           ||  90,000 KRW</code></pre><p>hledger는 <a href="https://ko.wikipedia.org/wiki/%EB%B3%B5%EC%8B%9D%EB%B6%80%EA%B8%B0">복식부기 방법</a>을 사용한다. 처음에는 조금 직관적이지 않을 수 있지만(특히 대/차변을 +/- 부호로 구분하기때문에 생기는 오해들이 있다) 익숙해지면 다른 서비스와는 차별되는 semanticity를 자랑한다.</p>
<p>이 시리즈에서는 복식부기 방법 자체에 대해 다루지 않겠다. 회계 기준이 아닌 복식부기 시스템 자체는 이해하기 매우 쉽기때문에 10분 내외로 충분히 배울 수 있다. <a href="https://www.youtube.com/watch?v=lIGJzQw79hg">hledger docs에서 소개하는 복식부기를 소개하는 영상을 추천한다.</a></p>
<p>다음 포스트에서는 기본적인 hledger의 형식과 몇가지 기본적인 명령어들에 대해 알아보도록 하겠다.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>물론 PTA도 당연히 수기로 해줘야한다. 단지 &ldquo;간편한 가계부&rdquo; 앱들이 획기적으로 더 간편하지 않다는 말일 뿐이다.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>아래의 보고서를 Income statement, 포괄손익계산서라고 한다. 실제 기업에서 사용하는 보고서 형식과 큰 차이가 없다.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
  </channel>
</rss>
