Skip to main content

Siteline + Viewpoint Spectrum - Setup (Siteline)

One-time setup for the Siteline + Viewpoint Spectrum integration via Siteline

Written by Bradley LaFave

Intended audience: technical user. This page covers the one-time Spectrum-side configuration required to connect Spectrum to Siteline: whitelisting Siteline's static IPs, creating a SQL user with the right permissions, and sharing your Spectrum company code. Day-to-day billing workflows are covered on the Usage page.

To authorize Siteline to read and write data between Spectrum and Siteline, you will need to complete the following steps.

What you'll need

Gather all of these before you start — Siteline needs every one of them to complete the connection. If you are on Trimble-hosted (cloud) Spectrum, the first three come from Viewpoint Customer Support and take 24–48 hours to receive, so request them in the same case that whitelists Siteline's IPs (step 1).

What

Where it comes from

Hostname

Viewpoint Support (hosted) or your SQL Server host (self-hosted)

Port

Viewpoint Support (hosted) or the port your SQL Server listens on (self-hosted, usually 1433)

Database name

Viewpoint Support (hosted) or your DBA (self-hosted) — typically Forefront, sometimes Spectrum

Company code

The short code identifying your company in Spectrum — for example 01 or SMK

Username and password

The dedicated SQL login you create in step 3

  1. Whitelist Siteline's static IPs — Hosted (Trimble Cloud) Versions of Spectrum

    If you are using a Trimble-hosted (cloud) version of Viewpoint Spectrum, you will need to open a case with Viewpoint Customer Support to add Siteline's static IP addresses to your Spectrum SQL database endpoint whitelist. Trimble hosts the database, so your team can't open the port directly.

    1. Log in to your Customer Support account.

    2. Select My Resources, then Submit a Case.

    3. Select Support, then Systems/IT.

    4. Scroll to the bottom of the page and press Continue to Case Creation.

    5. Under Case Create, select a Priority. Under Description, add the following:

      Hi — we are looking to whitelist a set of static IPs for direct SQL connectivity with our Spectrum instance. Here are the static IPs:

      1. 136.111.250.112

      2. 34.123.68.248

      Could you also let us know what the hostname, database name, and port are for our instance?

    6. Press Submit.

    7. You should receive a response from Viewpoint Support within 24–48 hours confirming the IPs have been whitelisted. Make a note of the hostname, database name, and port — you'll share these with Siteline in the final step.

  2. Whitelist Siteline's static IPs — Self-hosted Versions of Spectrum

    If you are on a self-hosted (on-premise) version of Viewpoint Spectrum, you will need to whitelist Siteline's static IPs to connect to your SQL Server by adding them to the firewall for your network:

    1. 136.111.250.112

    2. 34.123.68.248

    If you're unable to connect from Siteline even after whitelisting the IPs above, double-check that your Spectrum SQL Server port (usually 1433) is open to those IPs and reach out to your Siteline CSM.

  3. Create a SQL user for Siteline

    After whitelisting Siteline's IPs, create a dedicated SQL Server login that Siteline can use to read from and write to your Spectrum database.

    Provisioning the account and granting table access is done in Spectrum through Info-Link's User Security Maintenance. If you're not familiar with the screen, follow Trimble's guide on creating SQL accounts in Spectrum.

    Grant the new user the object-level permissions listed on the SQL Server Permissions page — that list is generated directly from Siteline's queries, so it is always current.

    Two tables need write access:

    • CR_INVOICE_HEADER_MCSELECT + INSERT

    • CR_INVOICE_DETAIL_MCINSERT

    Everything else on the permissions page is SELECT only.

    Partial grants cause subtle failures (a project imports with no schedule of values, or a pay app fails to sync) rather than a clean error. Grant every table on the permissions page, including the unit-price tables — that way unit-price jobs work without a follow-up permissions request.

  4. Confirm your Spectrum company code

    Siteline connects to a single Spectrum company per integration. Note the Spectrum company code you want connected (the short code — for example 01 or SMK — that identifies the company in JC_JOB_MASTER_MC).

    If your team runs multiple Spectrum companies, you'll need one Siteline integration per company. The same SQL connection can be reused across them; only the company code differs.

  5. Share connection details with Siteline

    Once the IPs are whitelisted and the SQL user is created, share the following with your Siteline CSM through a secure channel (e.g. 1Password shared vault):

    • Hostname — the value provided by Viewpoint Support (hosted) or your SQL Server host (self-hosted).

    • Port — the value provided by Viewpoint Support (hosted) or the port your SQL Server is listening on (self-hosted, usually 1433).

    • Database — the name of the database Siteline should read from (typically Forefront, sometimes Spectrum).

    • Username and Password — the SQL login you created above.

    • Company code — the Spectrum company code you confirmed in the previous step.

    Siteline will use these details to complete the connection on our side. Your CSM will confirm once the integration is live.

Spectrum field limits to know about

Spectrum's AR invoice columns are narrower than Siteline's equivalents, so two values are constrained when a pay app syncs:

  • Invoice numbers are limited to 10 characters. Siteline's invoice code becomes the Spectrum invoice number, and a longer code fails at sync time with an error rather than syncing incorrectly. If your team uses a long invoice-numbering scheme, shorten it before the first sync.

  • SOV line item descriptions are shortened to 30 characters. Longer descriptions are cut to fit Spectrum's invoice detail column. This happens silently, so keep descriptions concise if you want them to read the same in both systems. The full description is always preserved in Siteline.

Did this answer your question?