How can I import my own geo-encoded lat/long information to Contacts?

We want to import on the order of 100K records with geo-encoded latitude, longitude, and accuracy (“exact” vs. “approximate”). We created these records as a CSV file by exporting our existing Contacts with unique id and running these through our in-house geo-encoding system that does not depend on Google maps.

Our ultimate goal is to be able to specify a polygon area on the map in SuiteCRM and to generate a Target List for records that lie within that polygon.

We tried using the import wizard to import to the Latitude and Longitude fields (in the contacts_cstm table), matched on the unique id, but this doesn’t seem to be enough. We still can’t view the records on the map.

We saw the address cache table and wondered if it is necessary to import the addresses vs. lat/long to that table as well for the overall functionality to work.

Given an external CSV file with Contacts unique_id, latitude, and longitude, what are the minimal steps we’d need to do to ingest this data and obtain the same mapping functionality as if we had relied on the Google maps connection we don’t want to use, but which is supported in SuiteCRM?


I don’t know about the maps functionality, sorry, but if I had 100K records of anything to import, I wouldn’t go through the import wizard, I would prefer importing it into the database directly (via phpMyadmin or MySQL command-line).

Anyway, looking into the database might be the best way to figure out what is needed. If you create some record manually that you can see on the map, you can then examine the tables to see how it is saved there.

If anyone else knows more about the specifics of map data, please add to this thread. Thanks

I have the same need as Kevn.
I have some Accounts that can’t be geocoded by google API and i want to add lat/long data on csv to import it.
do you know how to import accounts with lat/long ?


Please confirm, were you able to load the Lat/Long in the way that you described or no?

Curious as our Account and Contact DB records are un-populated and like you we have third party sources for Lat/Long.

Currently we only work off Post Codes and use external mapping tools.

Soon we will enrich all our Accounts with a third party service which will be made available to all SuiteCRM users (UK data).


We did not make the attempt to import our CSV lat/long data into SuiteCRM. The suggestion by pgr was a good one, to geo-encode a single, new record using the existing SuiteCRM functionality and then observe what tables were touched, and based on those observations, infer what information is required by SuiteCRM’s mapping functionality and document it. If that piece were already documented, we could probably move forward with the importation of our data.

The last development work on JJWDesign Google Maps was in January, 2014, so we haven’t felt the confidence to spend effort digging further on the importation side if the mapping support was not yet mature. (Hats off to JJW Design for the great work.)

The three items I would want to see in the SalesAgility backlog before we tried the CSV lat/long importation on our own would be:

  1. “Integrate JJW Design’s geo mapping plugin to core SuiteCRM functionality.” Basically take the code as-is, making sure it still works in the current SuiteCRM, and adding it to the release testing so geo mapping wouldn’t break in future releases, even if no further development is done on it.
  2. “Create SalesAgility HOWTO documentation for the top 5 geo mapping use cases.” One is visualization of record density on a map. One is drawing a shape and creating a target list using only records inside (or outside) that shape. One is importation of lat/long data from a CSV. One short web page for each with simple steps and a screenshot for each step.
  3. “Implement importation of lat/long data from a CSV file.”


What I have seen regarding the Maps features is that they are used only by a few people, but used heavily by this group, which really relies on it.

It’s hard for SalesAgility to devote effort to this, for the simple reason that there are tons of core things to look at, and very limited resources when compared to the dimension and impact of this project.

I would encourage you, and others interested in this, to dive into it, get to know the module, write some Docs (the site is user editable!). We should have the “group of users who are interested in Maps features”, and help each other out with:

  • learning how the code works
  • writing acceptance tests to make sure we can change it without breaking it
  • write documentation
  • gather usage info (like your list of important ways to use the module)

I want to write some draft docs, where is the correct place?
Which is the “user editable site”?

The site is

There are some tutorials here:

I this section

“Documentation and releases are kept up to date on the JJW Maps project page.”

Do you think that i will be allowed to start a doc page about maps module?

That sentence is completely out-dated, and by now, completely false. There have been no updates, neither to the code or documentation, for years.

So sure, go ahead and create documentation, that will be a valuable help to the project. Thanks!

Has anyone solved how to import long/lat to maps? i have a .csv file with contact IDs and long/lang… I already tried updating the contacts module via import also the maps address cache via import however they are still not loading to the map.