filemakeruser11-IT Posted February 28, 2008 Posted February 28, 2008 Hello, I hope that some of the gurus of this forum can give me a clue for the following matter. I have developed a small filemaker solution for invoicing purposes and I am still developing it,adding new features when required,but costantly. the question is:how to have a multi-company database ? For example: I have companies A,B,C. How can I handle the invoicing of company A company B or company C, using only the main invoicing solution that I have developed? If I should use 3 copies of the solution that I have created, anytime that I make some changes to my invoicing solution, I should update all the 3 files. I want to avoid it. For what I have understood checking an Access based solution, any company has it's own .mdb file, while the main structure of the program is the same for any company. Is it possible to do it in filemaker? I hope I have been clear enough,kindly hoping in a reply. regards stefano,Italy
Fenton Posted February 28, 2008 Posted February 28, 2008 If you have a "constants" or "global" file (sometimes one table can handle both needs, in large solutions you may want separate tables), which is a "1-record" table, then you can put the logo and business info in there. You can put it into regular fields (container for graphics, text for other), then create calculation fields, with [x] Use global storage, which act as "mirrors" to the regular field. _cLogo, Container result, global storage = Logo _cLogo will then be available anywhere else within the solution without needing a relationship. The only problem I've found with this is that in a hosted solution, it takes a little while for the Server to update changes (seconds). This answers the question: How do I develop one solution as a "template" to give to different clients? If you were asking: How do I have a single database solution for a single client which can send invoices as separate businesses, ie., the client himself has different businesses, all of whom use the same database? That's different. You would have a similar table, but with a record for each business. The logo, etc., would not be calculations with global storage, but regular fields. Each business would have a unique ID, which would need to be included, as a foreign key in other relevant tables, tied via relationships to this Businesses table.
filemakeruser11-IT Posted February 28, 2008 Author Posted February 28, 2008 thanks for the answer! I already thought about creating a "companies" table,which is related to invoicing table via company foreign key,but this solution does not work when I do consider that invoices are automatically numbered from 1;so for each company, the invoicing should start from one,while by this way,there would be a unique counter common to all the companies. so this is not a solution. I have seen many invoicing solutions based on microsoft access97 and microsoft access2000 which have a common interface, but which allow to choose a database on which to work. All the data are kept separately because stored in different .mdb files. probably filemaker does not allow it? thanks stefano thanks again, stefano
JerrySalem Posted February 28, 2008 Posted February 28, 2008 You need to separate the Serial Number that is created in the background from the Invoice Number that the user sees. The serial number field you have now will be used in the background for relationships etc. Add a new Invoice Number field and use that for display purposes. You will need to calculate it on Invoice creation to make sure it is unique to that company. You will also need to pay attention to User Finds, to make sure that when a User from company A looks for Invoice # 100, they find only Company A invoices. HTH Jerry
filemakeruser11-IT Posted February 28, 2008 Author Posted February 28, 2008 thanks. i do understand what you mean and it works for sure. about the second part of my message: so it means that what is it possible to do in access,cannot be made in filemaker? i cannot handle with one filemaker interface,different filemaker databases? regards stefano
Fenton Posted February 28, 2008 Posted February 28, 2008 Yes, it can be done in FileMaker. Read Jerry's post carefully. When he says "you will need to calculate it," he is talking about using a self-relationship on the BusinessID in the Invoices table, let's call it "self_BusinessID". The business Invoice Number would auto-enter, by calculation, [ ] Do not replace UNCHECKED, = Max ( self_BusinessID::BusinessID) + 1 This would work fine for a number field. You might have to fiddle a bit for a text BusinessID (with prefixes). Jerry also says (paraphrased), Do NOT use this as the real ID for this record. Use a real auto-entered serial ID, especially in relationships. The InvoiceNumber is ONLY for display, Finds, etc.. It is NOT an "ID" field, nor key. Otherwise if there is ever a problem with it, you will have great trouble, gnashing of teeth, etc.. So, that's how FileMaker does it. Using separate database files for this is not correct relational design.
Recommended Posts
This topic is 6111 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now