@@ -23,9 +23,89 @@ $ npm install @seneca/ledger
2323## Quick Example
2424
2525``` js
26- Seneca ().use (' ledger' , {})
27-
28- TODO
26+ // Setup
27+ const seneca = Seneca ().use (' promisify' ).use (' entity' ).use (' ledger' )
28+ await seneca .ready ()
29+
30+ // Create an account
31+ await seneca .post (' biz:ledger,create:account' , {
32+ account: { oref: ' o0' , path: ' Asset' , name: ' Cash' , normal: ' debit' },
33+ })
34+
35+ // Get an account
36+ await seneca .post (' biz:ledger,get:account' , { aref: ' o0/Asset/Cash' })
37+
38+ // List accounts
39+ await seneca .post (' biz:ledger,list:account' , { org_id: ' o0' })
40+
41+ // Update an account
42+ await seneca .post (' biz:ledger,update:account' , {
43+ aref: ' o0/Asset/Cash' ,
44+ account: { custom_field: ' value' },
45+ })
46+
47+ // Create a book (accounting period)
48+ await seneca .post (' biz:ledger,create:book' , {
49+ book: { oref: ' o0' , name: ' Q1' , start: 20220101 , end: 20220331 },
50+ })
51+
52+ // Get a book
53+ await seneca .post (' biz:ledger,get:book' , { bref: ' o0/Q1/20220101' })
54+
55+ // List books
56+ await seneca .post (' biz:ledger,list:book' , { oref: ' o0' })
57+
58+ // Update a book
59+ await seneca .post (' biz:ledger,update:book' , {
60+ bref: ' o0/Q1/20220101' ,
61+ book: { end: 20220331 },
62+ })
63+
64+ // Create a journal entry (double-entry: debit + credit)
65+ await seneca .post (' biz:ledger,create:entry' , {
66+ bref: ' o0/Q1/20220101' ,
67+ daref: ' o0/Asset/Cash' ,
68+ caref: ' o0/Income/Sales' ,
69+ val: 100 ,
70+ desc: ' Jan Sales' ,
71+ date: 20220131 ,
72+ })
73+
74+ // List entries
75+ await seneca .post (' biz:ledger,list:entry' , {
76+ oref: ' o0' ,
77+ bref: ' o0/Q1/20220101' ,
78+ })
79+
80+ // Balance an account
81+ await seneca .post (' biz:ledger,balance:account' , {
82+ aref: ' o0/Asset/Cash' ,
83+ bref: ' o0/Q1/20220101' ,
84+ })
85+
86+ // Close an account (zero balance and optionally carry forward to target book)
87+ await seneca .post (' biz:ledger,close:account' , {
88+ aref: ' o0/Asset/Cash' ,
89+ bref: ' o0/Q1/20220101' ,
90+ target_bref: ' o0/Q2/20220401' ,
91+ })
92+
93+ // Close a book (close all accounts and mark book as closed)
94+ await seneca .post (' biz:ledger,close:book' , {
95+ bref: ' o0/Q1/20220101' ,
96+ target_bref: ' o0/Q2/20220401' ,
97+ })
98+
99+ // Export account to CSV
100+ await seneca .post (' biz:ledger,export:account,format:csv' , {
101+ aref: ' o0/Asset/Cash' ,
102+ bref: ' o0/Q1/20220101' ,
103+ })
104+
105+ // Export book to CSV (all accounts summary)
106+ await seneca .post (' biz:ledger,export:book,format:csv' , {
107+ bref: ' o0/Q1/20220101' ,
108+ })
29109```
30110
31111<!-- START:options-->
@@ -38,163 +118,140 @@ _None._
38118
39119<!-- START:action-list-->
40120
41-
42121## Action Patterns
43122
44- * [ balance: account ,biz: ledger ] ( #-balanceaccountbizledger- )
45- * [ balance: book ,biz: ledger ] ( #-balancebookbizledger- )
46- * [ biz: ledger ,close: account ] ( #-bizledgercloseaccount- )
47- * [ biz: ledger ,close: book ] ( #-bizledgerclosebook- )
48- * [ biz: ledger ,create: account ] ( #-bizledgercreateaccount- )
49- * [ biz: ledger ,create: book ] ( #-bizledgercreatebook- )
50- * [ biz: ledger ,create: entry ] ( #-bizledgercreateentry- )
51- * [ biz: ledger ,export: account ,format: csv ] ( #-bizledgerexportaccountformatcsv- )
52- * [ biz: ledger ,export: book ,format: csv ] ( #-bizledgerexportbookformatcsv- )
53- * [ biz: ledger ,get: account ] ( #-bizledgergetaccount- )
54- * [ biz: ledger ,get: book ] ( #-bizledgergetbook- )
55- * [ biz: ledger ,list: account ] ( #-bizledgerlistaccount- )
56- * [ biz: ledger ,list: book ] ( #-bizledgerlistbook- )
57- * [ biz: ledger ,list: balance ] ( #-bizledgerlistbalance- )
58- * [ biz: ledger ,list: entry ] ( #-bizledgerlistentry- )
59- * [ biz: ledger ,update: account ] ( #-bizledgerupdateaccount- )
60- * [ biz: ledger ,update: book ] ( #-bizledgerupdatebook- )
61- * [ biz: ledger ,void: entry ] ( #-bizledgervoidentry- )
62-
123+ - [ balance: account ,biz: ledger ] ( #-balanceaccountbizledger- )
124+ - [ balance: book ,biz: ledger ] ( #-balancebookbizledger- )
125+ - [ biz: ledger ,close: account ] ( #-bizledgercloseaccount- )
126+ - [ biz: ledger ,close: book ] ( #-bizledgerclosebook- )
127+ - [ biz: ledger ,create: account ] ( #-bizledgercreateaccount- )
128+ - [ biz: ledger ,create: book ] ( #-bizledgercreatebook- )
129+ - [ biz: ledger ,create: entry ] ( #-bizledgercreateentry- )
130+ - [ biz: ledger ,export: account ,format: csv ] ( #-bizledgerexportaccountformatcsv- )
131+ - [ biz: ledger ,export: book ,format: csv ] ( #-bizledgerexportbookformatcsv- )
132+ - [ biz: ledger ,get: account ] ( #-bizledgergetaccount- )
133+ - [ biz: ledger ,get: book ] ( #-bizledgergetbook- )
134+ - [ biz: ledger ,list: account ] ( #-bizledgerlistaccount- )
135+ - [ biz: ledger ,list: book ] ( #-bizledgerlistbook- )
136+ - [ biz: ledger ,list: balance ] ( #-bizledgerlistbalance- )
137+ - [ biz: ledger ,list: entry ] ( #-bizledgerlistentry- )
138+ - [ biz: ledger ,update: account ] ( #-bizledgerupdateaccount- )
139+ - [ biz: ledger ,update: book ] ( #-bizledgerupdatebook- )
140+ - [ biz: ledger ,void: entry ] ( #-bizledgervoidentry- )
63141
64142<!-- END:action-list-->
65143
66144<!-- START:action-desc-->
67145
68-
69146## Action Descriptions
70147
71148### « ; ` balance:account,biz:ledger ` » ;
72149
73150No description provided.
74151
152+ ---
75153
76-
77- ----------
78154### « ; ` balance:book,biz:ledger ` » ;
79155
80156No description provided.
81157
158+ ---
82159
83-
84- ----------
85160### « ; ` biz:ledger,close:account ` » ;
86161
87162No description provided.
88163
164+ ---
89165
90-
91- ----------
92166### « ; ` biz:ledger,close:book ` » ;
93167
94168No description provided.
95169
170+ ---
96171
97-
98- ----------
99172### « ; ` biz:ledger,create:account ` » ;
100173
101174No description provided.
102175
176+ ---
103177
104-
105- ----------
106178### « ; ` biz:ledger,create:book ` » ;
107179
108180No description provided.
109181
182+ ---
110183
111-
112- ----------
113184### « ; ` biz:ledger,create:entry ` » ;
114185
115186No description provided.
116187
188+ ---
117189
118-
119- ----------
120190### « ; ` biz:ledger,export:account,format:csv ` » ;
121191
122192No description provided.
123193
194+ ---
124195
125-
126- ----------
127196### « ; ` biz:ledger,export:book,format:csv ` » ;
128197
129198No description provided.
130199
200+ ---
131201
132-
133- ----------
134202### « ; ` biz:ledger,get:account ` » ;
135203
136204No description provided.
137205
206+ ---
138207
139-
140- ----------
141208### « ; ` biz:ledger,get:book ` » ;
142209
143210No description provided.
144211
212+ ---
145213
146-
147- ----------
148214### « ; ` biz:ledger,list:account ` » ;
149215
150216No description provided.
151217
218+ ---
152219
153-
154- ----------
155220### « ; ` biz:ledger,list:book ` » ;
156221
157222No description provided.
158223
224+ ---
159225
160-
161- ----------
162226### « ; ` biz:ledger,list:balance ` » ;
163227
164228No description provided.
165229
230+ ---
166231
167-
168- ----------
169232### « ; ` biz:ledger,list:entry ` » ;
170233
171234No description provided.
172235
236+ ---
173237
174-
175- ----------
176238### « ; ` biz:ledger,update:account ` » ;
177239
178240No description provided.
179241
242+ ---
180243
181-
182- ----------
183244### « ; ` biz:ledger,update:book ` » ;
184245
185246No description provided.
186247
248+ ---
187249
188-
189- ----------
190250### « ; ` biz:ledger,void:entry ` » ;
191251
192252No description provided.
193253
194-
195-
196- ----------
197-
254+ ---
198255
199256<!-- END:action-desc-->
200257
0 commit comments