Multiple addresses for account in Salesforce

By default Salesforce provides just one billing and shipping address per account.

But your business might require a multiple billing/shipping addresses for single account. Based on my experience you have several options to fix that.

  1. Create new account for each billing/shipping details which you need and join it with main account via parent account field This solution looks as most simple and anticipated way to meet this requirement. Usually single billing/shipping address is a single business entity and should be separated from other ones. But it might generate many “address only” accounts for some specific cases when your business operates with customers/partners who has a lot of addresses. It will create clutter in your account data. To fix that you might create a special record type and layout for these accounts in order to separate them and show only required data.

  2. Create custom object to track just address details and link it with account via master detail field For cases described above when you have a lot of an address only accounts an isolated custom object for storing address info might be preferable. Usually this object has all the standard address fields like city, postal code, etc. and Type picklist for distinction types like billing, shipping, warehouse, etc.

  3. Create custom fields to track additional address details right on account This solution is good when you absolutely sure that your accounts limited to 2 or 3 additional addresses and you can just define fields for these addresses like billing address line 1, billing address line 2 and so on. It might save some data space in your org. Also it’s convenient to have all information on a single page.

  4. Store all address info in some huge text field/attachment/file/etc. in JSON format (actually, any parsable format) That’s really esoteric and geeky solution and included here just for completeness. It might be solution in some very specific cases when you have custom front-end and custom code which parse it to correct formats.

  5. Look for App Exchange package which solve that I believe someone already solved this issue with some package and it might be a solution for you too.