Skip to content

An "Accounting Workbench" with SpecFlow step definitions using the domain language of double entry bookkeeping. It allows developers and accountants to specify transactions in Gherkin Given-When-Then notation.

License

Notifications You must be signed in to change notification settings

robertreppel/gherk-book

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Accounting Workbench

Bookkeeping must be one of the most standardized and well-documented domains in existence (http://en.wikipedia.org/wiki/Della_mercatura_e_del_mercante_perfetto).

This is an exercise I'm doing to understand the domain better. With the addition of SpecFlow steps it's beginning to look like a kind of "Accounting Workbench". It might be possible for developers to sit down with accountants and use Gherkin to model the parts of applications which need to record financial transactions:

Scenario: Record a transaction

Given a Accounts Receivable ledger with id 3001 and a revenue account no. 3000 as controlling account
And a revenue account 1236 "Sales (Services)" in Accounts Receivable

When I record the following transaction in the Accounts Receivable ledger:
	| AccountNumber | AccountName      | Date      | TransactionReference		   | Amount    |
	| 1236          | Sales (Services) | 12/3/2011 | 5434 - Widgets, Harry Slayton | 2034.12   |
	
Then the trial balance of the Accounts Receivable ledger should look like this:
     | AccountNumber | AcctType  | AccountName		 | Debit	| Credit	|
     |       1236    |   Revenue | Sales (Services)  |  0.0		|   2034.12	|

And the Accounts Receivable ledger should not balance.

It's rudimentary:

  • There are ledgers.
  • Accounts can be created.
  • Transactions can be recorded.
  • There is a (at this point) somewhat broken trial balance.
  • There is a simple report printer. It writes trial balances and account statements to the console.
  • There are no step definitions for account statements (yet).
  • There are no journals (yet).
  • There is no user interface. Run the NUnit tests.
  • There is no database.

DISCLAIMER: I'm not an accountant. This was put together in a hurry, with domain knowledge googled on the fly. Stay out of jail.

About

An "Accounting Workbench" with SpecFlow step definitions using the domain language of double entry bookkeeping. It allows developers and accountants to specify transactions in Gherkin Given-When-Then notation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages