Integration Summary

Overview of available integration mechanisms within Aucerna Execute and sample uses

This document summarizes many of the options available within Aucerna Execute to integrate with other systems. In general, because there are so many different systems in use by our clients, we strive to provide general purpose tools that can be used to build purpose-built and robust integrations rather than focusing on out-of-the-box integrations with particular systems.

In most cases Aucerna Execute’s technical team will assist with the configuration of the integration point and questions about the integration but the coding / query building is typically the responsibility of the client. While this approach requires more work initially it also provides a more supportable solution and allows the client to have control over the specifics of the integration rather than working around the limitations inherent to a one-size-fits-all approach.

Detail information on configuring most of these integration points can be found on the documentation index.

Real-Time Integration

Aucerna Execute Service APIs

The Aucerna Execute Service exposes a complete set of APIs that allow 3rd party tools to interact with AFEs, RTD, and the surrounding data and business rules. These APIs are the same APIs that Aucerna Execute is built around and enforce the same behaviours and business rules that Aucerna Execute itself does. These APIs support JSON, XML over HTTP, and SOAP (JSON being the preferred interface).

These APIs can be used for things like:

  • Automatically creating skeleton AFEs when a project is approved in a budgeting tool
  • Periodically retrieving AFE data to update AFE summary information in another system
  • Automate updates to information on the AFE based on changes in other systems
  • Pulling tasks lists to include in corporate dashboards

A complete list APIs and usage details are available here: https://executedemo.aucerna.com/2019_demo/api/index

Sample code for interacting with the Aucerna Execute APIs can be found here:

https://github.com/afenav/sample

Enterprise Events

Enterprise Events is a mechanism for notifying a 3rd party system of changes to an AFE or RTD in real-time. These events can be delivered by SOAP, XML over HTTP, MSMQ, flat files, stored procedures, and even piped into an executable. By default, these events contain a snapshot of all data on the AFE/RTD but XSLT can be provided to manipulate the message to meet the needs of the recipient system.

More documentation on Enterprise Events can be found in the Enterprise Events guide.

Enterprise Validation

Aucerna Execute includes tools for building custom validation rules against AFE/RTD data based on data stored on the AFE/RTD in Aucerna Execute. Enterprise Validation exists for cases where Aucerna Execute does not contain enough information perform the validation itself. Enterprise Validation hooks into the AFE Route/Release or RTD Release process and makes a synchronous call to another system via SOAP/XML over HTTP. That external system can then, optionally, return a list of validation errors and warnings which are seamlessly integrated with the out-of-the-box validations provided by Aucerna Execute.

More information on Enterprise Validation can be found in the Enterprise Validation guide.

Enterprise Numbering

Aucerna Execute typically generates unique AFE Numbers based on your business rules when the AFE is routed for review or approval. However, in some cases it is preferable to have an external system manage creation of the AFE Number (an accounting system, for example, might be the system of record for AFE Numbers). In this case you can use Enterprise Numbering to do a real-time synchronous call (SOAP, XML over HTTP, EXE) to query the external system for an appropriate AFE Number. By default, the entire AFE is serialized and sent to the external system although XSLT allows this message to be tailored for the receiving system. The external system is then able to return an appropriate AFE Number that will be used for that AFE (perhaps first setting up a skeleton/placeholder record for the AFE).

More information on Enterprise Numbering is can be found in the Enterprise Numbering guide.

Approval Snapshot

Sometimes corporate policy requires that approved AFEs, and supporting documentation, be stored in a document management system for long-term storage. To facilitate this, the “Approval Snapshot” tool will, upon Internal Approval of an AFE, automatically export a PDF of an AFE, its supporting documentation, and an XML dump of the AFE data to a configured folder. This data can then be processed to automatically setup the AFE in the document management system.

Manual AFE Integration

Table Based Manual Export (enVision)

Aucerna Execute includes a very flexible tool for manually exporting AFE data to another system directly through the database. At this time, the primary user of this interface is our integration with the enVision accounting system but the tool is generic and can also be used for other systems.

The intended workflow is to present the user with a list of eligible AFEs to export (based on filters against the AFE in Aucerna Execute and what data is already in the receiving system), allow the user to select which AFEs to export, and then push those AFEs (header data, partners, estimates, etc.) directly to the receiving system’s table based on configuration.

The rules support:

  • Interacting with an arbitrary number of tables in the receiving system
  • Access to an data on the AFE
  • Conditional logic as to which steps apply to which AFEs
  • Adding new rows to a table
  • Updating rows in a table
  • Replacing a set of rows in a table with a new set
  • Transformation of data from Aucerna Execute fields to what is expected by the recipient system

Data Navigator (Qbyte)

Aucerna Execute includes out-of-the-box functionality for pushing approved AFEs (both header information, partners, and estimate detail) into the Qbyte accounting system. This includes a graphical interface for configuring the field-mappings.

Aucerna Execute has partnered with Red Dog Systems and supports electronically exchanging partner AFEs through Red Dog’s AFELink product. This is integration out-of-the-box functionality that allows:’

  • An operator to electronically deliver its AFEs to its partners (AFELink does charge an additional fee for this electronic delivery)
  • An operator to electronically receive and process responses by its partners
  • A partner to electronically receive and import non-op AFEs

The AFELink system provides a quick, convenient, and cost-effective way to exchange partner AFEs and eliminate most of the manual tracking and manual entry that would otherwise by required.

Reducing Data Entry

Data Selection Tool

To help reduce redundant data-entry Aucerna Execute includes a tool called the “Data Selection Tool” that supports building pick-lists on data in external systems and, based on the user’s selection, automatically copying that data onto the AFE or RTD. This is a flexible tool with many possible uses but currently clients are using it for:

  • Copying an appropriate DOI from their Land System
  • Copying well header information from a well system (such as Well View)
  • Pulling in a list of wells from a well system for multi-well AFEs
  • Linking an AFE to an entity in Value Navigator and pulling across some key economics indicators
  • Copying some AFE data from specifically designated template AFEs in Aucerna Execute

The Data Selection Tool works against database level views/tables. If the data you wish to integrate can be loaded into a table or view, and made accessible to Aucerna Execute, it is probably a candidate for the Data Selection Tool.

More information on the data selection tool can be found in the Data Selection Tool guide.

Background Synchronization

Synchronizing “Master Data”

Aucerna Execute includes a data synchronization tool that can be used to synchronize lists of things (partners, users, areas, AFE Types, accounts, etc…) with external systems. This be used to reduce management and ensure consistency of “Master Data” between systems (which often makes other integrations more robust). It is routinely used to:

  • Synchronize the list of partners with a list of JV vendors in an accounting system
  • Synchronize the list of areas with another system
  • Synchronize the list of Aucerna Execute users with those in a directory service
  • Synchronize the list of accounts with an accounting system

Synchronization runs against a database level staging table or view. As long as the information you wish to synchronize can be presented in this way it is probably a candidate for synchronization.

Synchronization automatically handles record locking and will defer updates if they can not be safely performed.

More information on synchronization can be found in the Data Synchronization guide.

Synchronizing AFE / RTD Data

The same synchronization tool mentioned previously can also be used to update data on any Document Type including AFEs and RTDs. This allows you to keep portions of information in-sync with an external system of record. This is routinely used for:

  • Synchronizing the AFE’s closed status/date with the accounting system
  • Synchronizing well master data with the well system so that the well information on the AFE is always correct (for example: changes in UWI are synchronized across related AFEs)
  • Keep some information in-sync between the source RTD and an AFE
  • Synchronization works against a database level table or view. As long as the information you wish to synchronize can be presented in this way it is probably a candidate for synchronization.
  • Synchronization automatically handles record locking and will defer updates if they can not be safely performed.

Synchronization can also operate in two modes:

  • Synchronize-everything-all-the-time-mode – where the staging table/view contains a full set of data from the source system and Aucerna Execute automatically updates internal data based on changes in the source data
  • Queue-mode – where new records are added to the queue table upon changes in source data and Aucerna Execute automatically removes those records upon successful processing

More information on synchronization can be found in the Data Synchronization guide.

Importing Actual Costs and Field Costs

Aucerna Execute stores a copy/snapshot of per-AFE-per-month-per-account field costs and actual costs. These costs, however, are typically recorded in another system. Aucerna Execute includes tools for importing these costs from external systems provided:

  • The data can be exported into a CSV with columns for AFE Number, Year/Month, Account (optional), Gross Amount, Net Amount (optional).
  • The data can be presented in a database Table or View with columns for AFE Number, Year/Month, Account (optional), Gross Amount, Net Amount (optional).

Assuming the above requirements can be met Aucerna Execute includes sample configuration to support manually importing these costs based on a user action, and automatically importing costs based on a schedule (nightly, for example). These cost imports can be run at any time and do not require a system outage.

More information on importing costs can be found here:

More information on importing actual/field costs can be found in the Cost Import guide.

Users: Active Directory

Aucerna Execute manages its own set of user accounts and permissions. The Aucerna Execute permission model (create rights, view rights and approval rules) are typically based on the Primary AFE Attributes and do not typically map well to Active Directory roles.

We do, however, support tying an Aucerna Execute account to an Active Directory account. This has two main benefits:

  • While authenticated within the network, those users are able to automatically sign-on to Aucerna Execute, without requiring an additional set of credentials
  • Aucerna Execute will query the directory server and verify the user is enabled before allowing the user to sign-on to Aucerna Execute

In addition, it is possible to use our Synchronization tool to synchronize the list of users (not the associated permissions) with a list of users in a table. We have clients who do this to:

  • Synchronize the list of users in Aucerna Execute with the list of users in AD with a specific role (by creating a AD bound table)
  • Synchronize the list of users with a list from an internal directory to ensure consistency of user details and avoid maintenance.