Jump to content

multi-company solution


This topic is 5926 days old. Please don't post here. Open a new topic instead.

Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

This topic is 5926 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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.