[ https://issues.apache.org/jira/browse/OFBIZ-9492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16106479#comment-16106479 ]
Paul Foxworthy commented on OFBIZ-9492: --------------------------------------- Hi [~deepak.nigam], [~jacopoc], [~pfm.smits] Jacopo did some cleaning up of the accounting transaction types in 2007 (https://github.com/apache/ofbiz/commit/4d8ab57b0173a98e82c23268708c0c9f4247c3a7) I see in /applications/accounting/data/AccountingTypeData.xml that AcctgTransType values of SALES_INVOICE, PURCHASE_INVOICE and CUST_RTN_INVOICE have a comment saying they should be replaced with "SALES". I presume the thinking is that exactly the same set of information is a purchase invoice from the perspective of the buyer, and a sales invoice from the perspective of the seller. If the two parties are both using OFBiz, it could even be exactly the same entity. I was considering using these three values in the revision of the TaxAuthorityGlAccount entity. Now I wonder the relationship should be to InvoiceType instead. There are other situations where we may incur and pay a tax obligation beyond when we raise and receive invoices, such as income tax. However, in those situations you would just directly set the GL accounts for a payment. Does anyone see a problem with using InvoiceType? Cheers Paul > Tax Authorities need two GL accounts for sales and purchases > ------------------------------------------------------------ > > Key: OFBIZ-9492 > URL: https://issues.apache.org/jira/browse/OFBIZ-9492 > Project: OFBiz > Issue Type: Improvement > Components: accounting > Affects Versions: Trunk > Reporter: Paul Foxworthy > Assignee: Paul Foxworthy > Labels: accounting, vat > > In jurisdictions with Value Added Tax, you need to track tax you have paid on > purchases, and tax you have collected with sales. When you report to a tax > authority, you pay them the difference between the two, i.e. you pay tax on > the value added, not on your inputs. > OFBiz has an entity, TaxAuthorityGlAccount (TAGLA), which currently assumes > the GL account is for a sale. > We need to extend OFBiz so it is possible to find two GL accounts for a tax > authority, one for sales and one for purchases. > I propose: > - Define a new Enumeration for the direction of a transaction. I suggest > calling the Enumeration TAGLADIR, with two values TAGLADIR_INCOMING > and TAGLADIR_OUTGOING. > We could reuse an existing indication of the direction of a transaction, > for example the GlAccountClassIds INCOME and EXPENSE. However, when we receive > income from a sale, we would incur a tax *liability*, and the GL account for > that > would be a liability account. So I think it would be less confusing to have a > separate enum here that's just for TAGLA. > - add a new attribute to the TaxAuthorityGlAccount entity for the direction > of the transaction. > The new attribute should be included in the primary key. > - Add a new service in TaxAuthorityServices named getTaxAuthorityGlAccountId > which > looks up a TAGLA given primary key values, including the direction > - There are two places in TaxAuthorityServices that would call > getTaxAuthorityGlAccountId: getTaxAdjustments and getItemTaxAdjustments, one > for orders, and the other for invoice item types. The direction can be > inferred from the order type or the invoice item type > - createAcctgTransForPurchaseInvoice and > createAcctgTransForCustomerReturnInvoice > should use getTaxAuthorityGlAccountId > - createAcctgTransactionForSalesInvoice should be rewritten to use > getTaxAuthorityGlAccountId. > I am working on a patch to do this, but I'd like your thoughts on my proposal -- This message was sent by Atlassian JIRA (v6.4.14#64029)