Odoo Accounting

  • View
    34

  • Download
    20

Embed Size (px)

Text of Odoo Accounting

  • Odoo Accounting v9. Draft. Table of Content

    Introduction

    Goals&PlanningModelChanges

    CashvsAccrualAccountingReviewReconciliation

    TerminologychangeFullvsPartialmatching

    TaxesInformationonJournalItemsTaxcreationTaxStatement

    ThegenerictaxsummaryHandlingthetaxdeclarationinlocalizationmodules

    Periods&FiscalYearsmanagementFiscalYearClosingSettingInitialAccountBalancesSequencesmanagementAccounts

    AccountHierarchiesActiveaccountsAccountTypes

    JournalsInvoicesPaymentOrdersModelofjournalItemsNotesforNewAPIconversion

    account.pyaccount_analytic_line.pyaccount_bank.pyaccount_bank_statement.pyaccount_move_line.pymodulestructureChangeeverywhere:WizardsMisc

    BankandCashStatementsExpenses

    1/55

  • ReportingEngineReportsMetadataFollowupsReview

    accountmodule:account_followupmodule:

    NewfeatureskanbanjournalasadashboardBankingflowReverseentrieswizardStornoandAngloSaxonModularityTests&DemoDataJournalEntriesRecordingSendInvoicesbyRegularMailAddManagementReportsDeposittickets

    ImprovementsofexistingfeaturesAccessrightsReconciliationBankStatementReconciliationBankStatementImportMenuitemsJournalformviewAccountformviewAssetsFiscalpositionformviewInvoiceReportRemoveAllEDIstuffBankAccountformview

    UsabilityUserOnBoardingFlowPlanner

    Phase2:localizationswitzerland:US:

    CcheckwrintingChartofaccounts(correctionofdefaultUStemplates)Cashdiscount

    2/55

  • 3/55

  • Introduction

    Goals & Planning OdooAccountingisasgoodasaccountingmodulesoftraditionalERPs.Butitdoesnothavethequalityofdedicatedaccountingsoftware.Ourreference,intermsofusability(notfeatures),isXero.comOdoov9musthaveabetterusabilitythanXero.OdooAccountingsUniqueSellingPropositionwillbe:

    Supersmoothintegrationwithbanks: Download/Importbankstatements SmartreconciliationwithInvoices Managepaymentseasily Uploadpayments/sendchecks

    Strongusability: superclear&easytouse,nocomplexconfigormenus fasttoperformdailyoperations.

    Thisprojectcoversfeatureslikeassetsandexpenses.Wewillworkinthreephases:

    Phase1:Genericimprovements:Oct2014Jan2015 Phase2:Localisationofkeycountries:Jan2015May2015 Phase3:Putinproductionandfinetune:March2015June2015 Phase4:Cleanextrafeatureslikebudget,analytic.

    4/55

  • extraquestionstoaddressinworkshops

    http://pad.odoo.com/p/accounting_roadmap_v9_extra_points donotpostautomaticallyjournalentriesattheinvoicevalidation? howcanweimprovepaymenttermswithdiscountsand/orextra tobetested:fiscalpositionontheSObasedonthedeliveryaddressinsteadof

    theinvoiceaddress outstandingreceivable:currenciesrevaluationattheendofFY/period

    5/55

    http://www.google.com/url?q=http%3A%2F%2Fpad.odoo.com%2Fp%2Faccounting_roadmap_v9_extra_points&sa=D&sntz=1&usg=AFQjCNEv0FU7bcP7TVnkl22hYG4UEWOOWA
  • Phase 1

    Model Changes

    Cash vs Accrual Accounting Currently,OdooAccountingisusingtheaccrualaccountingmethodbutinsomecountries(e.gUS),thenormismerelytodocashaccountingforsomebusinesses(usuallyservices).Moredetailsonthedifferencebetweenbothmethodin:http://www.irs.gov/publications/p538/ar02.html#en_US_201212_publink1000270633Everyreportcanhaveanoptiontogeneratethereportusingacashbasedmethodoranaccrualbasedone(ontheTaxSummaryreportforexample,thiswillallowustohaveaVATonpaymentreporting).Thisoptionwillbeselectedbydefaultusingthisinformationfromthecompany.Thereportsfiltersthejournalitemstouseaccordingtothemethod:

    Accrual:thecurrentmethod:weusealljournalitemsinthereports Cash:

    ifjournalentriesarenotlinkedtoareceivableorpayableaccount,theyareusedinthereport

    ifjournalentriesarelinkedtoeitherareceivableorapayableaccount:ifthesejournalitemsarenotreconciled,theyarenotusedinthereport

    Notethatpartialreconciliationhavealsoanimpactincashbasedreports(checkedinXero),notonlyfullreconciliationareshownincashbasedreports.Thatmeansthatifasaleof100with10ofvatismade,whenreceivingapaymentof11,werecognize10%ofthesaleand10%ofthevattoo.Becauseofthis,wegonnaneedadditionalstoredfieldtoknowthedebitandcredittouseincashbasedreports.TODO:

    addafieldonres.companytochoosebetweencashoraccrualmethod(fields.selection,widget=radio,default=accrual)

    addthefollowingfieldsonaccount.move.line: debit_cash_basis:float credit_cash_basis:float atthecreationofaccount.move.line,ifthejournalentryisundera

    sale/purchasejournal:thosefieldsaresetto0.Otherwisedebit_cash_basis=debitandcredit_cash_basis=credit

    6/55

    http://www.google.com/url?q=http%3A%2F%2Fwww.irs.gov%2Fpublications%2Fp538%2Far02.html%23en_US_201212_publink1000270633&sa=D&sntz=1&usg=AFQjCNExGk5ZGeKsfqMROSkmAzCxU336VA
  • atthereconciliation,onthereconcileditemsunderasale/purchasejournalupdatedebit_cash_basisandcredit_cash_basisfieldsattheprorataofthereconciledamountonthetotalsold/purchased

    inreportswherethisoptionhasameaning(P&L,BS,TaxSummary...),addtheoptioncashbasis.Ifitischecked,usethenewcolumnsinsteadoftheclassicdebitcreditones.

    Review Reconciliation

    Terminology change Thesystemwillbeentirelyreviewedinordertocleartheconfusionaboutthetermreconciliationwhich,inrealenglish,doesntrefertothebehaviorwehaveinOdoo.Weneedtodistinguish2usecasesthatcurrentlyusereconciliationasterminology(althougheveninfrenchthereexists2differentwordsforthat):

    1. Iwanttomakethelinkbetweenone/severalexistinginvoice(s)andone/severalexistingpayment(s).Hereweshouldspeakaboutmatchingthepaymentsandtheinvoices.Infrenchwecancontinuetalkingaboutrconcilierdesfacturesetpaiements.

    2. IwanttomakethelinkbetweenabankstatementIimportedandexistingjournalentriesthatarealreadypresentinmysystem.Hereweshouldspeakaboutthereconciliationofthebankstatement.Infrenchweshouldtalkaboutrapprocherdesextraitsbancaires.

    Becauseoftheunorderedwaywecreatedthedocument,youllstillfindinitreferencestobothusecasesusingreconciliationasasingleterminology.Pleasedontbeconfusedandreplacementallywithmatchingeverywherebankstatementsarentinvolved.

    Full vs Partial matching Current:

    Reconciliationconceptisok. Partialreconciliationisnotgood.Whenwepartiallyreconcile2paymentswith3

    invoices,itsimpossibletoknowthedueamountforeachinvoice.Weproposetosimplifypartialreconciliation.Insteadofusingthesameconceptasfullreconcile(linkseverallinestogether),apartialreconciliationisadirectlinkfromonejournalitemtoanother:youcanlinkthejournalitemofapaymenttooneandonlyonereceivablejournalitem(e.g.fromaninvoice).TODO:

    reconcile_partial_idfield: remove:fields.many2one('account.move.reconcile')

    7/55

  • add:fields.many2one('account.move.line') Reviewthedueamountcomputedfieldoninvoicesandexpensestoreducepartial

    payments: Unreconciledreceivables/payablejournalitemspartialpayments

    Showpaymentsdoneontheinvoiceandexpenses SimplifyPayInvoicewizard:

    nomoreselectionofdebit/creditlines(the2one2manyfields) shouldnotbeanaccount.voucheranymore,createadedicatedobjectfor

    payments. Removethecodethattriestomergeseveralpartialreconciliationintoabiggerone.

    Withthenewbankstatementthatallowstoreconcileonthefly,ausermayneverhavetodoareconciliation :1

    Whenimportingbankstatements,thebankreconciliationprocessdothereconciliation

    ofthepaymentwiththeinvoices Whencreatinginvoices,ifthereisanoutstandingpaymentforthiscustomer,the

    systemproposestoassignittotheinvoice.

    1https://www.odoo.com/forum/help1/question/howcanireconcilegeneralaccountsfrommybankstatement56566

    8/55

    https://www.google.com/url?q=https%3A%2F%2Fwww.odoo.com%2Fforum%2Fhelp-1%2Fquestion%2Fhow-can-i-reconcile-general-accounts-from-my-bank-statement-56566&sa=D&sntz=1&usg=AFQjCNFB-0RHcvdgmSY6rTtxxQCiD91BqQhttps://www.google.com/url?q=https%3A%2F%2Fwww.odoo.com%2Fforum%2Fhelp-1%2Fquestion%2Fhow-can-i-reconcile-general-accounts-from-my-bank-statement-56566&sa=D&sntz=1&usg=AFQjCNFB-0RHcvdgmSY6rTtxxQCiD91BqQ
  • TODO:Whenconfirminganinvoice,ifthecustomerhasanoutstandingcredit,thesystemproposestoautomaticallyassignittothisinvoiceasshownbythescreenshotbelow:

    Ofcourse,thereconciliationprocessstillexistsbutitshouldnotbeamandatoryoperationanymore.Userswillnothavetoworryanymoreaboutthereconciliationprocess.(whichisnotasimpleconcepttoexplain)Nearlyalljournalitemswillbereconciledatthebankstatementreconciliationprocess 2

    (paymentafterinvoice)orattheinvoicevalidation(paymentbeforeinvoice).

    Taxes

    Information on Journal Items IncurrentversionsofOdoo,asupplierinvoice/refundmaygeneratethefollowingjournalitems(basedonBelgiumaccounting,apurchaserefundinvoicewith21%ofVATonasingleproductcosting252.88):

    JournalEntry

    Account Taxes Debit Credit TaxCode TaxAmount

    1 440Payable 305.98 0

    1 411VAT 0 53.10 63 53.10

    1 611Charges 0 0 85 252.88

    2Thebankstatementreconciliation(anewconceptinOdoov9)isnotthesamethingthanthejournalitemreconciliation.(aconceptalreadyexistinginOdoo)

    9/55

  • 1 611Charges 21% 0 252.88 82 252.88

    Themainproblemwewanttosolvehereisthethirdlinewithdebit=credit=0whichisatechnicalhacktohavealinewithaTaxCode85andTaxamount,butnotaccountingentries.(weoftenhaveaccountantsthatreportsthisasabug)Wethinkweshouldsplit:

    Thedataaboutthejournalitems TheTaxLegalStatementthatshouldbeareportliketheP&LandBS.Wedontneed

    tostorethetaxcodesinthejournalitems,wejustneedtoknowwhichjournalitemshavebeencreatedbywhichtaxline.

    Thetablebelowarethejournalitemsforthesametransactionthantheonedescribedabove.

    JournalEntry

    Account Taxes Debit Credit TaxLineID

    1 440Payable 305.98 0

    1 411VAT 0 53.10 1

    1 611Charges 0 0 2

    1 611Charges 21% 0 252.88

    Insteadofhavingataxcodesreferredinthejournalitemstocomputethebaseandtaxamountsforthetaxstatement,theTaxStatementReportswillcomputetheseinformationusingjournalitemslinkedtospecifictaxes.Themainadvanta