51 (edited by apmuthu 01/09/2015 07:57:31 am)

Re: Importing customer csv data in FA v2.3.6

1. You might want to take the whole CoA (accounts master table) into an excel sheet, replace all "&" with "and" and avoid any special characters (thanks to some encoding issues) in them.
2. Then re-number the account codes to keep a 5 or 10 spacing as the case may be whilst retaining the first digit to cover similar account classes.
3. Suitably alter the records in sys_prefs table and other places where account code defaults get in.
4. Make sure you have the right foreign key values in the various accounts dependencies - the wiki page on ERD will be useful in this regard, especially the A/c Masters and POS Relationships ERD.
5. Import them in when done making changes as needed to other tables for these Account Code changes.

Re: Importing customer csv data in FA v2.3.6

I just wanted to thank both of you for this thread. As another Canadian just starting to evaluate FA, this thread has a lot of useful information that just saved me a lot of time.

Re: Importing customer csv data in FA v2.3.6

When done, don't forget to submit it here and to the project to assist others. wink

Re: Importing customer csv data in FA v2.3.6

Hi @instance, I appreciate your appreciation, but the thanks really must go to @apmuthu for being so helpful.

I think FA is a tremendous system that meets almost any accounting requirement that one could run into, and it has many features that go well beyond most other systems I have seen.

Of primary importance for us is the fact that it is written with good old php/mysql, so it is relatively easy to make custom linkages for shopping carts like we need. We also have a number of different divisions within our company, and the 'dimensions' feature makes divisional tracking very easy.

We had some other software/hardware engineering that took priority, and I had actually dropped this accounting project since Christmas, but today we are starting back on it. We have just finished up the fiscal year end in our old MYOB system, so we're ready to start the new calendar year with FA.

I have decided that for now we will not tackle inventory control as we have limited time to spend on it. We have multiple warehouse locations in different countries, so that will take some time to properly implement. Nice that it can accommodate that situation, though!

We're going to set it up so that it at least is doing what we are doing with MYOB, and we'll expand on the features as the year progresses. It's a new environment for our accounting department and I don't want to throw too much at them too quickly. It's tricky enough that our home currency is CAD, but our sales currency is $US (almost all our biz is worldwide export).

We had a lot of discussion about the Canadian COA, and after careful analysis I decided there really wasn't a whole lot of difference between the standard US version and what would be a Canadian version. So we're going to stick with the US version and just modify it as we go, via the regular UI.

So today I'm going to do a fresh install, using the link from apmuthu elsewhere in this thread. I'll be installing and configuring it on our 10' projector screen so that our accounting crew can see exactly how it is done, and then we'll proceed with an exploration of the menu system to see how it works. It should be quite an adventure ... if accounting can be looked upon that way.

Cheers, Adrian

Re: Importing customer csv data in FA v2.3.6

@ahrtgnbn if you hadn't asked the question I probably would have sailed off into a broken implementation so I'll give you credit for that at the least! No question that @apmuthu has done great work and provided a wealth of information along the way. As a PHP developer I have mixed feelings: on one hand I find the code a little dated but at the same time I'm glad I don't have to master yet another framework to dig into it. I've spent a good part of this year looking at a range of accounting solutions ranging from gnucash through to Xero and FA looks like the best choice from my perspective. That's a subjective evaluation, heavily biased by my deep expertise in PHP vs. just knowing enough to be dangerous in C or Python.

As far as bookkeeping is concerned I've got some catching up to do, and I need to build a major integration with the closed source billing solution that runs our business. The catching up means I've got a pile of OFX files I need to bring in to FA, so it looks like an import module is high on the list ( I know I could do an OFX to CSV conversion but there's some transactional integrity built into OFX that I'd prefer not to lose). Our billing system integration is going to require an extension of what I've found in terms of an API, and possibly a little schema modification to ensure that everything is tied together. On that note I'm not sure if the PayPal import module will hit the mark with dual currencies and linking back to invoice numbers in the billing system, so that might be job three.

Short story: unless there's some show stopper I'm missing, I expect to be around and involved with FA for quite a while.

Re: Importing customer csv data in FA v2.3.6

Hi @instance, yes, all too easy to go sailing off in the wrong direction, and waste a lot of time.

I did a pretty thorough research job too, and I couldn't find anything better, especially if you're comfortable with PHP like I am.

I'm going to report on our progress here, so stay tuned, and feel free to contribute at any time. The more people we can get interested in this, the better for all of us!

Cheers,  Adrian

Re: Importing customer csv data in FA v2.3.6

@instance & @ahrtgnbn: Thankyou for your kind words. With 2 dedicated Canadians on the team, FA is now set to scale great heights!

OFX (Open Financial eXchange) can be used directly in FA as it is XML. An extension can be hammered out for data interchange between FA and OFX. That way there need be no CSV conversions / import / export rigmarole.

Where 1-way data transfer is envisaged, the target database can have the affected tables replaced as views of queries based on the source database tables. That way there will be no need for any data exchange at all.

When implementing Inventory, the foreign item codes may cause the item_code tables to have different item_codes for the same stock_id which is intentional to enable different vendors to map their same products onto common stock_id of FA and such item_codes will be used for ordering from the respective suppliers.

FA does not have history of item prices in it's price lists but all goods sold / purchased will have such history in their transaction records.

The wiki will need good cross referencing within it's pages and between the wiki and the forum threads besides summarizing the distilled info from the forums into properly linked wiki pages in context to enable easy and intuitive search / navigation.

When time permits, do test out the FA v2.4 as it is now undergoing some final testing before release. There is a separate thread on it's developmental progress.

Re: Importing customer csv data in FA v2.3.6

Hi @apmuthu, ah yes, I see great heights ahead! smile

A couple of quick questions, if you will:

1. Since we are only going to use FA in its most basic form, do you think it would be safe to start with v2.4?

2. Is it possible to enter purchase orders without any items in inventory, so that invoices from suppliers can be matched to the original PO?

Tks, A

59 (edited by apmuthu 02/17/2015 07:34:30 pm)

Re: Importing customer csv data in FA v2.3.6

1. FA 2.4 is still a work in progress with basic FA v2.3 functionality merged into it and some new features being implemented. The db schema is subject to change and quite a few unused fields in FA v2.3 will be removed and some new ones are now being introduced. For all but very basic small installs, FA 2.4 will be trouble at the moment. Progress on FA 2.4 has been slow (yes, years in the making...) and in bursts and spurts when the key dev @itronics gets the time. Meanwhile changes in FA 2.3 need to be incorporated in FA 2.4 from time to time as well. If you know what you are doing and can manage a separate fork of 2.4 for your trajectory, then it will be suitable. If only basic usage is envisaged and no upgrades are needed, FA 2.4 might just fit the bill.

2. You need items in inventory before they can be chosen to be ordered! If all items in your supplier invoices need not be tracked, then they can be listed as a Service Item with editable description. If you do not wish to track inventory at all (Service Item) and avoid purchase order generation itself, then just maintain journal vouchers - manually compute taxes if any....

Re: Importing customer csv data in FA v2.3.6

I'm hesitant to tie things together via the database. Our current billing solution does a great job of invoicing, tracking payments, and integrating with back end systems but from an accounting perspective it's near brain dead: it has no idea about distinguishing between product and service revenue; it's impossible to set terms by client, so a random visitor gets the same credit treatment as a Fortune 100 enterprise. The phrase "purchase order" has never crossed the developer's minds, and so on. Yet the other things it does it does very well and it's an essential part of our business. Fortunately it's extensible, with hooks for just about every possible event, so it shouldn't be too hard to have invoices and payment posted to FA and broken down by the right product/service at the same time.

We're also in the process of adding another brand with an unrelated product line, so the hope is to use FA for that exclusively. I want FA to track A/R so that means two invoice numbering systems, or at least a field to link "external" invoices in FA.

I should also mention that two of the things I've done a fair bit of are unit testing and web page parsing. My UT experience is with PHPUnit, which may not be helpful here. As for parsing, if I get particularly lazy I'll write a Yodlee equivalent page scraper for TD Bank so I can get bank data straight from the source. smile

Re: Importing customer csv data in FA v2.3.6

and we're going to play it safe with 2.3; will advise ...

A

Re: Importing customer csv data in FA v2.3.6

@ahrtgnbn: nice decision

@instance: Your existing system is more a Point of Sale than an Accounting System and their developers have simplified operations by restricting it to Direct Sales and Purchase Invoices. Since it has hooks, you may want to make use of it to classify customers for appropriate decisions / reporting leveraging external tables. Not tying up the db directly between the two may alleviate non-high availability issues.

Fixes of a non critical nature will only go into FA v2.4 (dev policy) and they will need to be backported manually - my FAMods is a small step in that direction. Each developer will have their own private repository with their real fixes and only some would sync it to the public one. I cannot have multiple repos as maintaining them is a nightmare and would not benefit from peer review and hence GitHub and the FA Wiki (need to make one in MediaWiki when time permits). This decision may have ruffled a few feathers initially but now over 40 forks of it have  proved a tremendous vote of confidence.

Re: Importing customer csv data in FA v2.3.6

Indeed, it's a POS system with a few accounting-like bits done by someone who had never kept a set of books in their life. One day I hope a FOSS solution will emerge to replace it. It would be great to have FA handle invoices from the time of generation and strip out the rest, while still giving users access to payments though the existing UI. That would be a huge project and I'm not holding my breath.

If all you got for setting up your repo is a few ruffled feathers, then you've done very well. In my experience keeping secret sauce in private repos just leads to slower innovation, increased maintenance, and needless forks. Google will tell you I'm a pretty fanatical supporter of the GPL, but I think it makes for good business sense to work as collaboratively as possible.

My top priority will still be getting our records up to date and getting data into FA. Once that's under control and I've made the accountant happy I'll take a look at 2.4.

Re: Importing customer csv data in FA v2.3.6

Actually quite a few POS / Billing systems exist as FOSS: phpPointOfSale (now OpenSourcePOS) at SourceForge and SimpleInvoices at GitHub should be nice replacements using PHP/MySQL.

Re: Importing customer csv data in FA v2.3.6

Alas, this is nowhere close to retail POS. It's an application domain specific solution. There are about three providers in the space, none of them with more than a vague and ill-informed clue on the matter of ERP, and none of them FOSS. The one I'm using is the best of the bunch, has a dominant market position, and my guess is there's 5 to 10 developer years required to replace the application specific functionality, although I know from talking to others in this business there's some demand for an open solution. That's a ball I'm not going to be picking up...

66 (edited by ahrtgnbn 03/12/2015 02:06:38 pm)

Re: Importing customer csv data in FA v2.3.6

Hi Ho, so we've run into a roadblock right at the getgo trying to enter the bank balances for the previous year on Dec 31, so that we can get this going.

However, we got past the problem of entering a negative bank balance caused by our line of credit, simply by properly adjusting the debits and credits. Here's useful reference in case anyone is interested:

http://www.quickmba.com/accounting/fin/debits-credits/

So now we're moving on to see how we can implement the various categorization methods (dimensions, tags, classes, etc.).

Regards, Adrian