0% found this document useful (0 votes)
304 views7 pages

Accounting For Developers 101

- Accounting is a 700+ year old method of tracking the flow of value through a business using a system of accounts and double-entry bookkeeping. - The fundamental rule of accounting is the accounting equation, which states that assets must equal liabilities plus equity. This ensures the accounting records are always in balance. - Key concepts in accounting include debits and credits (which increase and decrease different types of accounts), the normal balances of different accounts, and maintaining balanced accounting records where total debits equal total credits.

Uploaded by

farkasdan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
304 views7 pages

Accounting For Developers 101

- Accounting is a 700+ year old method of tracking the flow of value through a business using a system of accounts and double-entry bookkeeping. - The fundamental rule of accounting is the accounting equation, which states that assets must equal liabilities plus equity. This ensures the accounting records are always in balance. - Key concepts in accounting include debits and credits (which increase and decrease different types of accounts), the normal balances of different accounts, and maintaining balanced accounting records where total debits equal total credits.

Uploaded by

farkasdan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Accounting for Developers 101

By John McKee and Tom Mornini

Thisisadoubleentryaccountingprimerforsoftwaredeveloperswhowritecodetotrack
money.Itdistillstheessenceofaccountinginanefforttohelpdevelopersbridgethe
vocabularyandconceptualdividethatexistsbetweenengineeringandfinance.There's
nothingspecificallyabout
Subledger
until
AccountingforDevelopers103
.

Background
Bothofushaveknownforaverylongtimethataccountantsuseddoubleentry
accounting(hereafteraccounting)totrackmoney.Weknewitwasthelanguageof
business,andthatWarrenBuffettconsidersitessential.
Eventhoughweknewthesethings,weneveronceconsideredusingitasatechniquein
softwarethatwewrote.It'sprobablyagoodthing:everythingwethoughtweunderstood
weactuallymisunderstood!
HavingimplementedSubledger,we'reamazedbyaccounting'seleganceandsimplicity.
Ourgoalforthisseriesofdocumentsistoallowyoutoappreciateitaswedo.

History
Ifyoulookatorusemodernaccountingsoftwareit'seasytooverlooktheeleganceand
simplicity.Thesepackagesmakeaccountingappearbroad,deepandmysterious.
Architecturally,mostofthemappeartobebusinessdocumentdatabasesthatproduce
accountingreports,asopposedtopureaccountingsystems.Infact,themostpopular
packagesviolatesomeofthebasictenetsofaccountinginanefforttomakethem
"simpler"touse.
LucaPacioli
,oftenreferredtoas"TheFatherofAccounting,"wrote,printedand
distributedthefirstcompletedescriptionofdoubleentryaccountingin1494.Itwas
writteninvernacularItalian,whichmadeitwidelyconsumable.
Itistragicthattheactualcreatorofaccounting,whichisknowntohavebeeninusefor
atleast2centuries(!)beforeLucadescribedit,willlikelyneverreceivetherecognition
thatshe/hedeserves.Somehistoriansbelievethatitsuseleddirectlytothe

Renaissancebyincreasingtrust,allowingmorecapitaltoberaised,andimprovingthe
efficiencyofputtingthecapitaltowork.
Luca's
ParticularisdeComputisetScripturis
(DetailsofCalculationandRecording)was
anappendixtothemathtext
SummadeArithmetica,Geometria,Proportioniet
Proportionalit
(SummaryofArithmetic,Geometry,Proportion,andProportionality).It's
hardtoimaginethatonebookintroducedAlgebra,Geometry,andAccountingto
Europe!
LucamentoredLeonardodaVinci,whodrewtheillustrationsoftheregularsolidsused
inanotherPacioliwork,
DeDivinaProportione
(TheDivineProportion).Apparently,
geniusreallydoeslovecompany!
Thefundamentalsofaccountingpredate,yetbearstrikingresemblanceto,
Newton's
ThirdLawofMotion
:"Foreveryaction,thereisanequalandoppositereaction,"and
Lavoisier'sLawofConservationofMass
:"Masscanneitherbecreatednordestroyed,
onlyrearrangedorconvertedtootherforms."
Accountingisa700+yearoldtechnology.Howmanytechnologieshavesurvivedthat
lengthoftime,letaloneflourishunchanged!
Accountingistheuniversallyaccepted
goldstandardfortrackingtheflowofvalue,worksforeverybusinessmodel,and
hasnoapparentsuccessors
.
Toputitsdurabilityintoperspective,doubleentryaccountingwascreatedtomanage
financialconcernsbeforenegativenumberswereinwidespreaduseinEurope.
Knowingthathelpedusunderstandthecommonlyencountered,yetrarelydefined
termsdebit,creditandbalanceinanentirelynewlight.
Givenitspositionasthebedrockoffinance,wefinditverystrangethatfewapplications
useaccountingtotrackmoney.

Why is Accounting Important?


Nearlyeverybusinessintheworldisrequiredtomaintainrecordsandpaytaxesbased
ontheiraccountingrecords.Formanyinexperiencedentrepreneursthistarnishes
accountingwithabittertasteof"taxiness."Thisisexceedinglyunfortunatebecauseitis
farmorevaluablethanthat!
Accountingallowsbusinessestocomputecriticalmetrics,mostfundamentally,whatthe
business:

hasandexpectstoreceive
owestovendorsandcustomers
owestoshareholders(owners)
hasearned
hasspent

Accountingexposeswherevalueisstoredwithin,andhowitflowsthroughabusiness.
Itdoessowithgreataccuracywhichinspiresgreatconfidence.Businessmetricsand
ratiossuchasgrossandnetincome,grossandnetmarginandROIshouldbebased
uponaqualityaccountingrecord.Whensuchmetricsarenotbasedonaccountingthey
areconsideredsuspectandlikelyunreliable.
Qualityaccountingisasignof,andthe
fundamentalbasistoprove,thetrustworthinessofanentitysfinancialrecords
.

What is Accounting?
Accountingisamethodologyoftrackingthemovementofvaluethroughasystemof
accounts.
Thefundamentalruleofaccountingisthatwhatthebusinessownsandisowedmust
alwaysEXACTLYEQUALwhatitowestoothers.Wefoundthishighlycounterintuitive.
It'seasytoimaginetransactionsthatappeartoviolatethisrule,untilyouunderstand
thataccountingdemandsthatanyvaluethataccumulateswithinthebusinessisowed
totheshareholdersofthebusinessindeveloper'sterms,accountingmaintainsvery
strictseparationofconcerns.
Thisfundamentalruleisexpressedbytheaccountingequation:

THE ACCOUNTING EQUATION


Whatthe
BusinessHas
andExpectsto
Receive

MustEqual

Whatthe
BusinessOwes
toVendorsand
Customers

Plus

Whatthe
BusinessOwes
toShareholders

Assets

Liabilities

Equity

Debit and Credit


Perhapsthemostdifficultvocabularywordsinaccountingaredebitandcredit.Thisis
likelyduetotheiruseinconsumerfinancialproductssuchasbankstatements,debit
cards,andcreditcards.
Letsdefinedebitandcreditfromscratch.TheytranslatefromItalian,perhaps
unsurprisinglygiventheaccountingequation,asowedtoandowedby.While
accurateandinstructive,we'vefoundthetranslationstobelessusefulthantheycould
be,sowe'veincludedmnemonicsthatwe'vefindquiteuseful.

DEBIT AND CREDIT TRANSLATIONS


VernacularItalian

Translation

UsefulMnemonics

Debito

Owedto

To/Destination

Credito

Owedby

From/Source

Accounts
Accountsexistintwobasicforms:thosethatareexpectedtohaveapreponderanceof
debit(debitnormalbalance),andthosethatareexpectedtohaveapreponderanceof
credit(creditnormalbalance).

ACCOUNTING EQUATION AND NORMAL BALANCE


Whatthe
BusinessHas
andExpectsto
Receive

MustEqual

WhattheBusiness
OwestoVendors
andCustomers

Plus

WhattheBusiness
Owesto
Shareholders

Assets

Liabilities

Equity

DebitNormal

CreditNormal

CreditNormal

Addingadebittoadebitnormalaccountincreasesthevalueinthataccount.
Conversely,addingacredittoadebitnormalaccountdecreasesthevalueinthat
account.
Accountsareusedtomeasurevalueasitflowsthroughthebusiness.Accountscan
representinternalviewsofexternalrelationshipssuchasbankaccounts,ortheymay
beusedpurelyforinternalmanagerialpurposessuchasinventoryaccounts.

Balance
Thenextfundamentalconceptinaccountingisbalance.Balanceinaccountingisthatof
anoldfashionedbalancescale.Ratherthanweighingphysicalobjects,accounting
weighsdebitandcredit.

AlldebitandcreditinanaccountingsystemMUSTbalance.Ifyou'veeverheardabout
anaccountantlosingsleepatnightbecausetheywereoffbyapenny,it'snotthepenny
they'reworriedabout!It'sknowingthattheirsystemisoutofbalance.Accountants,like
softwaredevelopers,donotlikeinconsistentdata!

Whilewethinkofaccountbalancesasasinglevalue,buttheyarenot.Balancesin
accountingarecomposedoftwovalues:thesumofdebitandthesumofcredittothat
pointintime.Thesinglevaluewe'refamiliarwithisthenetbalance,whichisthesmaller
amountofthetwosubtractedfromthelarger:
debit(5):credit(10)=credit(105)=credit(5)
credit(5):debit(10)=debit(105)=debit(5)
Netbalancesinaccountsareconsiderednormalifthelargervalue(debitorcredit)
matchesthenormalbalanceoftheaccount,ortheaccountisperfectlyinbalance,i.e.
sumofdebitequalssumofcredit,i.e.isinbalance,i.e.hasazeronetbalance.Ifthe
largersumdoesnotmatchthenormalbalanceoftheaccount,thenthebalanceis
consideredabnormalandisdisplayedinparenthesis.
Fromamathematical
perspective,abnormalbalancesareessentiallynegativebalances,thoughin
accountingnegativenumbersshouldneverbeusedorallowed
.

Accounts and Balances


Cashisanassetaccount.Assetaccountshavedebitnormalbalances.Whencashis
receivedaccountantsdebitthecashaccounttoincreaseit.Whencashisspent,they
creditthecashaccounttodecreaseit.

ASSET/CASH DEBIT NORMAL EXAMPLE


Date

Description

5/17/2015

cashreceived

5/18/2015
5/19/2015

Debit

Credit

Balance
0.00

10.00

10.00

cashspent

5.00

5.00

cashspent

10.00

(5.00)

Noticethelastlinewherewecredit(decrease)10fromabalanceof5.Thebalanceisin
parenthesisbecausethebalanceisabnormal:ithasmorecredit(5+10)thandebit(10).
TheresultisNOTnegative5,asaccountinghasnonegativenumbers.Instead,itisa
netcreditbalanceof5inanaccountthatnormallyshouldhaveapreponderanceof
debit,i.e.isadebitnormalaccount.
Thisprobablyseemslikeasubtlepointatfirst,butitisVERYimportant:doubleentry
accountingisfundamentallybasedontheentiresystembeinginbalancejustlikethat
oldfashionedbalancescale.
Everythingworkstheoppositeforcreditnormalaccounts,i.e.acreditincreasesthe
balance,andadebitdecreasesthebalance.

Debitandcreditaresimplytheoppositeofeachother.Thiswasahardconceptforus
sincewewereusedtolookingatbankstatements,whereadebitalwaysdecreasedthe
balanceoftheaccountandcreditalwaysincreasedthebalance.Wedidntknowthat
bankaccountstatementsareliterallyjusttranscriptionsofthebank'sliability(credit
normalbalance)accounts!

Journal Entries
JournalEntriesarehowentriesaremadeintoaccounts.Sincetheentiresystemmust
remaininbalanceatalltimes,eachjournalentrymustalsobeinbalance.
Thismeansthatentriesaremadeinatleasttwoaccounts,hencethename
doubleentryaccounting.Oneentryfortheaccountthevalueisgoing
to
(debit)andone
fortheaccountthevaluecame
from
(credit).Noticehowourboldedmnemonicsmakeit
easytounderstandwhichaccountneedstobedebited,andwhichcredited.
Moresubtlesplitsarepossible,aswe'llseein
AccountingforDevelopers102
.This
fundamentaluseofoffsettingentriesmakesitunlikelythatinnocentmistakesor
larcenywillgounnoticed.
Let'ssayyouborrow$5fromyourfriendSamforlunch.Howwouldyourecordthisasa
journalentry?
Hereisajournalentrythatrecordswherethe$5wentto(debit),andwherethe$5
camefrom(credit):

JOURNAL ENTRY EXAMPLE #1: BORROW CASH


Date:July31,2014

Description:BorrowedmoneyfromSam

Account

Debit

Add
to
PettyCash(assetaccount/debitnormal)

Credit

5.00

Loan
from
Sam(liabilityaccount/creditnormal)

5.00

TotalDebit/Credit:

5.00

5.00

Sincethisjournalentryhas5debitand5credit,itisinbalance,andapplyingittothe
systemwillkeepthesysteminbalanceaswell.
Ifyoudepositthat$5
to
(debit)yourcheckingaccount
from
(credit)pettycash,here'sa
journalentrythatdescribesthattransaction:

JOURNAL ENTRY EXAMPLE #2: DEPOSIT $5 CASH


Date:July31,2014

Description:DepositPettyCashtoChecking

Account

Debit

Deposit
to
checking(assetaccount/debitnormal)

Credit

5.00

from
PettyCash(assetaccount/debitnormal)

5.00

TotalDebit/Credit:

5.00

5.00

Noticethatwealwayslistdebitbeforecredit.Thisisanindustrystandarddatingbackto
(atleast)Pacioli.Whilewerespectthestandard,it'sclearlyastylisticissuethathasno
effectonthedata.
Inthenextpost,
AccountingforDevelopers102
,we'lltaketheseconceptsforwardand
explainthechartofaccounts,reportingingeneral,thebalancesheetandincome
statementspecifically,cashvsaccrualaccounting,andtheaccountingcycle.

You might also like