Q&A
Frequently Asked Questions
Common questions about OPDC: how it connects to Sage 100 Contractor, what it does about security, and what it costs.
API & Developer Experience
Most Sage integrations hand you raw table names and cryptic column codes, so you spend the first week guessing what "RECNUM" or "JC_LN_NMBR" holds. OPDC maps every endpoint to the names the business already uses: "jobNumber", "vendorName", "costCode", "invoiceAmount". You don't need a Sage data dictionary open in another tab. This was a deliberate design choice after building 20+ Sage integrations and watching developers waste hours decoding field names.
That's by design. OPDC is more like an SDK than a raw database connector. When you query a job, you get "jobNumber", "description", and "contractAmount" rather than the dozens of underlying columns Sage stores behind them. Field mapping, data type conversion, null handling, and cross-table joins happen on our side, so you get predictable JSON without learning Sage's internal schema. If you need a field we don't return, tell us and we'll look at exposing it.
Yes. OPDC exposes a standard REST API with JSON responses, and every endpoint is documented with OpenAPI (Swagger). The Developers page carries the full reference plus a guide to the query contract, error handling, and the write endpoints. You can't fire live requests from the docs page, because each customer reaches OPDC on their own hostname rather than a shared public one. Point the examples at your own install and they work as written.
Read the API documentationJobs, vendors, cost codes, cost types, GL accounts, AP invoices, purchase orders, payroll records, inventory items, and more. OPDC covers the core Sage 100 Contractor modules that accounting teams and integrators work with daily. If you need access to a table we haven't exposed yet, let us know. We add new endpoints based on customer need.
Yes, on the Standard plan and above. OPDC supports validated write operations for specific workflows: payroll import, AP invoice posting, inventory transactions, and ledger entries. Every write goes through a validation layer that enforces Sage's own business rules, including cost code structures, GL account formats, and fiscal period rules, before anything touches the database. There is no raw SQL path through OPDC. A write either satisfies those rules or it is rejected with a reason.
OPDC returns structured error responses with human-readable messages. If a cost code doesn't exist, a GL account format is wrong, or a fiscal period is closed, you get a specific error naming the field that failed and the rule it violated, not a generic database exception. One thing to know before you write a client: a failure on the Sage side comes back with "responseType": "ERROR" inside the JSON envelope, and on read endpoints the HTTP status is still 200. Branch on responseType rather than the status code. The Developers page covers this in detail.
See how OPDC reports errorsThere are no hard rate limits or per-call metering on the standard plan. Bulk payroll imports, report generation, and inventory syncs all run without throttling. The practical limit is your own server. If you're planning an unusually high-volume workload, let us know during onboarding and we'll make sure it's sized for that.
Multi-Company & Architecture
Yes. OPDC natively supports multi-company Sage 100 Contractor environments. A single OPDC installation can serve all companies on your Sage instance. You specify which company you're querying via the API, and OPDC routes to the correct dataset. That means one install and one configuration covering every Sage company, instead of a separate connector per company.
OPDC connects directly to the database that Sage 100 Contractor uses. It runs as a Windows service on the same server, or on one with network access to the Sage database. There are no ODBC wrappers and no middleware in between; it speaks the database's native protocol.
Yes. OPDC supports a wide range of Sage 100 Contractor versions. The underlying database structure is stable across versions, and our field mapping layer handles version-specific differences. If you're unsure about your version, reach out and we'll confirm compatibility.
Yes. Reports, inventory apps, payroll integrations, and custom dashboards all connect through the same API at the same time. Each connection is authenticated independently with its own API key, so you can revoke one without affecting the others.
Security & Infrastructure
No. OPDC sits on-premise inside your network. No firewall ports need to be opened and no VPN is required, which is usually the part IT cares about most. The Sage database stays isolated: callers reach OPDC through its secure tunnel, and nothing outside your network ever addresses the database itself. All communication is encrypted using mutual TLS (mTLS), so both the client and server authenticate each other before any data is exchanged.
Users authenticate through Auth0 with support for LDAP and enterprise identity providers before any API key is issued or validated. This applies to both Twinn Reports and the integrations dashboard. Once authenticated, every API request requires a valid API key tied to a specific organization and permission set. Keys are issued through the Twinn dashboard and can be revoked at any time. All traffic is encrypted using mTLS.
Yes. Every API call, read or write, is logged with the authenticated user, timestamp, endpoint, and payload. You can review audit logs through the Twinn dashboard, which is where most compliance reviews and "who changed this" questions get answered.
OPDC runs as a Windows service and restarts itself if it stops. Your Sage 100 Contractor installation is unaffected either way: OPDC is read-only by default and only modifies the Sage database when it is performing a validated write you asked for. Sage continues to operate normally with or without OPDC running.
OPDC requires administrative rights to install on the server. The installer registers a Windows service, configures the secure tunnel, and sets up local certificates for mTLS. All of our code is EV (Extended Validation) signed, so Windows SmartScreen and enterprise security policies recognise OPDC as software from a verified publisher rather than blocking it.
We are not currently SOC 2 certified. What we do have is mTLS encryption, Auth0 authentication with LDAP support, EV code signing, full audit logging, and on-premise isolation, so your data never leaves your network. Those are the controls enterprise compliance teams usually ask about, and members of our team have prepared multiple companies for SOC 2 audits in previous roles, so we know what the process involves. If certification is a requirement for your organization, we're happy to start it. We can also walk through our security posture in detail during onboarding, or provide documentation for your IT review.
Every OPDC subscription includes direct access to our engineering team for setup, troubleshooting, and ongoing support. We respond within one business day and most issues are resolved in a single session. For integrator plans, support is covered under contracted SLAs with guaranteed response times. If you need priority support on the standard plan, reach out and we'll discuss options.
Pricing
The Reports plan is $3,000 per year and covers read-only API access, Twinn Reports, and the on-premise connector. Nothing on that plan can change data in Sage. Standard is $7,500 per year and adds the write endpoints: payroll import, AP invoice posting, inventory transactions, and ledger entries, all through OPDC's validated pipeline. The Integrator plan is $11,000 per year and adds observability, structured logging, and contracted SLAs. Every plan includes multi-company support and ongoing updates. There are no per-user fees and no per-call metering, just one flat annual subscription. Contact us if you'd like a walkthrough or a quote for your environment.
We offer time and materials consulting for custom integrations: payroll imports, AP automation, inventory workflows, or anything else that connects to Sage 100 Contractor through OPDC. Engagements start at 15 hours, valid over 60 days, and larger packages are available on request. You get a developer who already knows the Sage data model, so none of those hours go to ramp-up.
We don't offer a self-serve trial, but we're happy to run a live demo against sample data so you can see the API in action. If you want to see something specifically tailored to your data, have a recent backup of your Sage company available for upload and we'll configure the demo around it. Reach out through the contact page or book a call and we'll set one up.
Integrators & Partners
Yes, and this is the case OPDC was built for. If you're a software vendor or integrator whose product needs to read or write Sage 100 Contractor data, OPDC is the managed middleware layer between your application and Sage. You build against our API. We handle the database connectivity, field mapping, validation, and infrastructure, so your team never has to learn Sage internals. Authentication runs through Auth0, so we can accept provisioned users from your identity provider instead of you managing a second set of credentials.
The integrator plan starts at $11,000 per year. It includes everything in the standard OPDC subscription plus SigNoz observability dashboards, rich structured logging for every API call, and contracted SLAs. You get the same view of request volume, latency, error rates, and payload details that we use internally. SLAs are tailored to your integration requirements and agreed upon during onboarding. Additional API keys are significantly cheaper per customer as you scale.
Either way works. Some integrators route all traffic through their own backend and treat OPDC as an internal service. Others provision API keys per customer and let them connect directly. We'll help you design the architecture that fits your product.
Getting Started
Most installations are completed in a single session. Install the Windows service, point it at your Sage 100 Contractor database, configure your API keys, and you're live. There's no lengthy onboarding, no data migration, and no cloud setup required. If you plan to use OPDC for updating or inserting data, we recommend spinning up a replica of your production instance first to validate all transactions before going live.
No. OPDC installs separately and connects to your existing Sage database. It doesn't modify any Sage files, settings, or database structures. Your Sage installation remains completely untouched.
OPDC runs on Windows Server (2016 or later) or Windows 10/11, and needs network access to the database that Sage 100 Contractor uses. Resource requirements are light enough that it runs alongside Sage on existing hardware.
Reach out through our contact page or schedule a call. We'll walk you through the setup, confirm compatibility with your Sage version, and get you up and running. Most teams are pulling data through the API within a day of installation.
Still have questions?
We're happy to walk you through OPDC and answer anything specific to your Sage 100 setup.
Get in Touch