Finance Configuration Overview
Some tasks are required in the System Configuration module to use the Finance module properly. Some of these tasks are also needed for other areas of the systems.
This topic includes:
-
Organizations and Invoicing Organization Settings including Invoicing Options, Default Invoice Schedule Options, and Default Revenue Recognition Options.
Calendar Setup
The Finance module relies on Calendars shared across AOS modules, which can be administered in the System Configuration module under System > Calendar. They contain billing periods that define how deals are split into invoices. You can create calendars specifically for use with the Finance module or you can use calendars common across the rest of the system.
Financial System Connection Setup
The Finance module creates invoice data that you import into an accounting or invoicing system. AOS can generate a CSV file to import. the data and can automatically transfer this file to an Amazon S3 bucket or via FTP or SFTP. Operative recommends using S3:
-
For S3, Standard Storage is assumed, SSE-S3 security is used, and your company must provide the S3 bucket, paying the Amazon storage/transfer fees etc.. You should grant the following for the bucket: "s3:GetBucketAcl", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject".
-
For FTP, ensure the account you use has read and write access.
-
For SFTP, to simplify certifcate concerns, typically Operative provides a location and credentials. If you wish to use your own server, support can work with you on certificate issues if required.
Administrators must set this up in the System Configuration module under the main System Configuration tab:
-
Under System > Named Credential, set up the connection details by creating a named credential using either the S3 or FTP/SFTP Connection Template.
-
Under System > External System, create or open an existing system whose Integration Type =financial where you can set the Connection Template to S3 or FTP/SFTP and map it to your named credential. Under Operation Settings, you should also map the Invoice Export operation to the named credentials.
Within the invoicing organization, you also need to set the Financial System field on the Invoice Organization tab to the financial external system as explained below in Organizations..
Organizations
Each deal in the system is associated with an Invoicing Organization, which is inherited by its invoices. An invoicing organization is the part of your company that sends the bill and under which revenue is reported. Some customers only use a single invoicing organization, but others find it useful to segment the business across different organizations for reporting, more controlled defaulting of terms, or other organizational purposes.
Finance module calculations are performed based on the invoicing organization’s settings, so these should be understood when using the Finance module. Organizations are defined in the System Configuration module under Organizations. This shows a tree structure of all the different Teams, Business Entities, Media Properties, and Approval Groups, with one Global Organization at the top of the tree.
-
Global Default Organization is the top level of your organization hierarchy. You can change its name and details as needed. All other organizational elements are created below the organization. This is typically an invoicing organization and is often the only invoicing organization.
-
Business Entities are divisions within your overall company and are used to define an organization or media hierarchy. These can optionally be invoicing organizations depending on your business needs. Business entities can be children of other business entities, and there is no limit to the depth of the hierarchy.
-
Media Properties are websites, portals, newspapers, or other content containers on which you sell advertisements. Nothing can be below a media property in the hierarchy.
-
Teams are collections of users within your company. Depending on the needs of your organization, all users can be part of a single default team, or you can organize users into different teams.
-
Approval Groups are collections of users responsible for approving deals.
In many companies, the Global Organization is the only invoicing organization and all the Finance module settings are defined for it. In other companies, settings are defined for different Business Entities. By default, a sales deal and all its line items have the first invoicing organization that is above the default team of the deal’s primary salesperson. A Sales module user can override this default per deal if the deal header is configured to allow it.
Invoicing Organization Settings
When you open the Global Organization or a Business Entity, the Invoicing Organization toggle appears and if it is selected, the Invoicing Organization tab is enabled. Most of the settings relevant to Finance are on that tab as described below. However, be aware that the Starting Invoice Status field on the General tab can override the workflow default when using the Finance Workflow.
Invoicing Options
On the Invoicing Organization tab, you can set the following:
-
Invoice Calendar – This sets which calendars are allowed on deals using the Invoicing Organization.
-
Default Calendar – This sets which calendar is used by default on a deal using the Invoicing Organization. If you only want one calendar used for the invoicing organization, this should be the same as the Invoice Calendar.
-
Financial System – If you defined a connection to your accounting and invoicing system, you can select the system here. These integrations are defined in the System Configuration module under System > External System > defined with the Integration Type Finance.
-
Override Invoice Amount Capping (Allow more than Net Cost) – This disables Capping for the Net Invoice Amount. If this is selected, the system allows and can calculate invoice amounts greater than the contracted Net Cost in the Sales module. If unchecked, you cannot invoice for more than the contracted goals set in the Sales module. In the Products module, a user can optionally set whether to cap or not. Typically users do not set capping by Product, but if they do, the Product setting is used over the organization setting.
-
Override Invoice Units Capping (Allow more than Quantity) – This disables Capping for Invoice Units. If this is selected, the system allows and can calculate invoice units greater than the contracted Quantity in the Sales module. If unchecked, you cannot invoice for more than the contracted goals set in the Sales module. In the Products module, a user can optionally set whether to cap or not. Typically users do not set capping by Product, but if they do, the Product setting is used over the organization setting.
-
Post Lock Adjustments controls post lock adjustments, when you need to change Finance values after an invoice has already been sent:
-
Disable means adjustments do not appear within the Finance module UI. This keeps the user experience simpler for customers who do not use the feature and prevents any users from entering adjustments in the Finance module. It does not hide columns in the export and reports, but exports and reports are customizable, so you can simply remove any adjustment columns you do not need. Once the feature is enabled, disabling it is not recommended as the adjustments do not disappear from the system and will remain in the data, but no longer be visible. You can choose to change to a new invoicing organization and not enable adjustments for that organization so that future invoices do not have adjustments.
-
Enable With Capping means adjustments are allowed up to the Quantity or Net Cost goal from Sales if capping was enforced pre-lock. This means you cannot adjust the total value of a line item to be greater than the value for which it is sold. This applies to Units, Amount, and Revenue. However, if you chose to override capping before locking that override will apply to the adjustment as well regardless of this setting.
-
Enable Without Capping means you can make adjustments that exceed the Quantity or Net Cost goal from Sales. If a line item runs for multiple periods, adjusting the line up will be taken from future periods if they were capping. However, the adjustment itself is not capped and can exceed what was sold.
-
-
Require Adjustment Category when checked this makes a single-select categorization required whenever an adjustment is made. Administrators predefine the categories under System Configuration > System > Finance Adjustment Category. Then whenever a user makes an adjustment, they are prevented from Saving unless they also select one of the pre-defined adjustment categories. If this is unchecked, the category is optional when adjusting.
Default Invoice Schedule Options
Under the Default Invoice Schedule Options section, for each Cost Method, you can set the invoice terms that default for both the amount (monetary value, e.g., dollars) and the units (quantity, e.g., impressions).
-
Amount Terms by Cost Method sets the Invoice Terms (calculation method) used to calculate the Net Invoice Amount value that you bill your customer. This is the default that appears within the Sales module's Workspace Finance Summary tab when line items are created. Depending on permissions and whether this tab is configured, a Sales user can change this default. A Finance module user can later override what the Sales user chose.
-
Unit Terms by Cost Method sets the Invoice Terms (calculation method) used to calculate the Invoice Units that represent the quantity on the invoice. This is the default that appears within the Sales module's Workspace Finance Summary tab when line items are created. Depending on permissions and whether this tab is configured, a Sales user can change this default. A Finance module user can later override what the Sales user chose.
-
Historical Revenue Terms by Cost Method sets the Invoice Terms (calculation method) used to calculate the Recognized Revenue. In the Products module, a user can optionally set Revenue Terms. Typically users do not set terms by Product, but if they do, the Product setting is used over the organization setting when the Deal completes the Sales workflow. When terms are set by Product, the Cost Method is not considered. Sales module users cannot override the revenue but a Finance module user can.
This Net Invoice Amount and Invoice Units do not need to match. For example, when billing on a contracted basis, you may want to use a fixed amount regardless of performance for the Net Invoice Amount while still showing performance for the Invoice Units.
Default Revenue Recognition Options
Under Default Revenue Recognition Options, you can set how revenue is calculated. Depending on the needs of your organization, invoice and revenue numbers can be handled differently. The invoice amount is what you send the customer and recognized revenue is what you internally book as revenue.
-
Future Revenue Terms for Not Contracted and Days of Performance are are reserved for future functionality to allow forecasting revenue.
-
Override Recognized Revenue Capping (Allow more than Net Cost) disables Capping for the Recognized Revenue. If this is selected, the system allows and can calculate revenue amounts greater than the contracted Net Cost in the Sales module. If unchecked, you cannot recognize for more than the contracted goals set in the Sales module. In the Products module, a user can optionally set whether to cap or not. Typically users do not set capping by Product, but if they do, the Product setting is used over the organization setting.
Note: Whether or not makegood line items are recognized is configured as part of the Line Class and not the organization. Makegood lines always recognize revenue but ADU (Audience Deficiency Units) behave like Makegoods that do not recognize revenue.
Roles and Permissions
By default, the Finance module is accessible to the following default roles:
-
Administrator
-
Finance Manager
No other default roles have access to the module.
Granting access is done in the User Management module like other areas of the systems. A user with access to User Management can choose which users have access.
-
For a user to have full access to the Finance module, grant them the Finance Manager role.
-
For a user to have a sub-set of access to the Finance module, a custom role is needed based on the Finance Manager role.
The Finance module needs access to areas of the system other than the Finance module, so the Finance Manager role has read permissions to other modules and areas of the system. Therefore, you cannot grant access to the Finance module by simply creating a role with all the permissions listed under Finance in the User Management Role details page. When creating a custom role, always set the Finance Manager as the base role to ensure all the read permissions outside of Finance are granted. Then you can revoke permissions from the customer role under Finance as needed.
Finance Workflow
The Finance module optionally supports a workflow based around an Invoice Status field that is set on each invoice when configured. The workflow can restrict which Finance actions are allowed at certain statuses and can trigger status changes based on actions. By default, if your company has not worked with Operative to define a workflow, Invoices are created with no Invoice Status and the workflow is not used.
You can add or remove workflow support if you wish, but the change only applies to invoices created after the workflow was enabled or disabled.
About Finance Workflow
The Finance Workflow defines a set of Invoice Statuses. Their names are entirely custom and can be whatever you decide, as long as they contain only letters and numbers. Each status has a number of settings and can be used in different ways. Each invoice status can specify:
-
The actions a user can perform while an invoice has the status. Based on the workflow status, you can decide whether you wish to prevent a user from doing the following when permissions or Lock Status allow it:
-
Lock
-
Unlock
-
Unlock & Reset
-
Export for Download/Email
-
Export to Financial System
-
Manually edit Net Invoice Amount, Invoice Terms, Invoice Units, Unit Terms, Recognized Revenue or Revenue Terms
If the invoice Status says an action is allowed, it is only allowed if that action would be allowed based on a user’s permissions and the lock status. For example, if a user does not have the unlock permission, then that user can never unlock even if the Invoice Status allows it. If the Invoice Status says you can unlock, but the lock status does not, you cannot unlock.
-
-
The invoice statuses the current status can move into (transition) and how they move there:
-
An invoice can change status automatically when a user performs a lock or export action.
-
A user can manually use the Change Status button to select a specific status for an invoice based on as set of statuses available for the current status. The user must have the Change Status permission to do this.
A status you can change to can either get there automatically by an action or through a user manually selecting it, but the same status change is not allowed both automatically and manually.
-
Note: Export for Download/Email can be restricted if desired, but does not cause status changes.
An example workflow could be:
-
Invoices start in a “New Invoice” status that does not allow Export to Financial System.
-
If a user observes an issue, they can manually move the invoice into a Needs Review status and then bring it back to New Invoice after reviewing it.
-
When a user Locks an invoice in the “New Invoice” status, that invoices status automatically changes to “Ready to Export”
-
Invoices in the “Ready to Export” status allow you to Export to Financial System as well as Unlock.
-
If you Unlock an Invoice in “Ready to Export,” its status changes to “Revised”
-
Invoices in the “Revised” status do not allow you to Export to Financial System.
-
When a user Locks an invoice in the “Revised” status, it changes the Status back to “Ready to Export.”
This is just an example, and it is not deployed by default.
Setting up Workflow
You need to work with Operative to plan out what you want your workflow to look like. Operative will set up the statuses for you so that they appear within the System Configuration module under Module Settings > Finance > Workflow Statuses. Rows in this grid can only be created by Operative on the backend. The actual status names are entirely custom and likely will not match those in the following image.
When you click into a status, there are a few areas that appear.
-
The Read-Only Invoice Fields area lets you revoke the ability to perform an action while in the status. If you check the box next to the action, that means users CANNOT perform the action when the invoice has this status.
The All Invoices > All Invoice Fields setting stops a user from manually changing the Invoice Units, Unit Terms, Net Invoice Amount, Amount Terms, Recognized Revenue, or Revenue Terms from within the Finance module itself. This does not stop the data from updating based on delivery, changes in Sales, or changes in other invoices containing the same deal line item. This does not stop a lock or export action from stamping lock or export details on to an invoice. Deselecting this does not allow someone to edit an invoice they could not otherwise edit due to a lock or lack of permissions. However, selecting this can further restrict when an invoice is editable by a user.
-
Available Statuses shows statuses that this status is allowed to manually move to based on a user making an explicit choice using the Change Status button. These statuses are also used with the Invoice Pull operation where you can bring in invoice details from your Financial System. Operative must set up these statuses for you. A user needs the Finance > Change Status.Execute permission to enable the Change Status button.
-
Field & Action Transitions shows how actions that cause internal values changes can cause the status to automatically change. Operative must set up the first part of these criteria, but they are then finished within this UI. Technically, performing an action does not directly cause the Invoice Status to change. However, performing an action change values and those value changes can then cause the Invoice Status to change. For example, when you Unlock an invoice, the Lock State changes to Prior_Locked. The system can then use the change of the Lock Status value to Prior_Locked in order to automatically change the Invoice Status. You can have multiple checks and whichever applies first is used. The listed conditions are OR-ed, with the first True condition applying.
For exporting, you can actually set the Invoice Status change based on when the Export Starts (In Progress), when it completes (Is Successful), or if it fails (Has Failed), and you can use different statuses for all of them. However, these apply only to Export to a Financial System. You cannot automate status changes based on Export to Download/Email.
Note: When moving data or refreshing data in a staging or testing environment, these Workflow details may need to be set up each time and may not automatically come along with the process of moving data from one environment or tenant to another. You must explicitly request that the same workflow is set up when refreshing or moving data from different environments or tenants.
Starting Workflow Status
When a deal completes the Sales Workflow and invoices are created, if the Finance Workflow is also enabled, the system selects a starting status as follows:
-
If Starting Invoice Status is set for the deal’s invoicing organization, invoices begin in that status
-
ELSE if Starting Invoice Status is set for the deal’s Sales Team, invoices begin in that status.
-
ELSE invoices begin in the default starting status configured by Operative as part of the workflow itself. This default must be configured by Operative for you on the backend.
The Starting Invoice Status field of an Organization must be set by Operative or through the API. Not all statuses are eligible to start a workflow, so you must discuss your needs with Operative if you wish to use a different Starting Invoice Status for different invoice flows.
Workflow Restrictions in the Finance Module
To understand and see the workflow in the Finance module, add the Invoice Status field and filter to the Invoices grid using the Filters and Columns Selected lists above the Invoice Grid. Any invoices where this is an empty in the grid will not enforce the workflow, meaning all actions are allowed if permissions allow them and no automatic status changes happen based on them.
-
Based on the Invoice Status, the Lock and Export buttons do not perform any actions that are under Read-Only Invoice Fields in the System Configuration module under Module Settings > Finance > Workflow Statuses for the status.
-
Performing an action through the Lock or Export buttons changes the status of an invoice if its set to do so under Field & Action Transitions in the System Configuration module under Module Settings > Finance > Workflow Statuses.
Assignment Rules
Assignment rules help organize work for large Finance departments where different Finance users are responsible for managing invoices for different parts of the business. They let Finance module users know which invoices require their attention versus which are handled by other users. Using these rules is optional, and smaller Finance organizations often do not enable them.
Assignment rules contain:
-
Criteria to check deal values (e.g., Advertiser is Borders)
-
Users or Teams who are assigned invoices when the criteria are met
When a deal moves through the Sales workflow and is considered fully sold and active, Invoices are created, and any active Assignment Rules evaluate the details of the deal to make the automatic assignment. After this automatic assignment, users in the Finance module with permission to modify the Assignee or Finance Team to can manually change them. If the deal goes through a revision, an invoice Assignee is never changed by assignment rules. Assignment rules only ever apply when an invoice is first created.
Assignment rules are configured in the System Configuration module under Module Settings > Finance > Assignment Rules as explained in Finance Module Settings.
Finance Teams and Visibility
Two teams are available for each invoice, although in many cases they will be the same.
-
Sales Team is set on the Deal in the Sales module and the Finance user cannot change it. It is the team of the Primary Account Executive in the popup window that appears when you click the three dots next to the Primary Account Executive on the Deal Header.
-
Finance Team is set on the invoice. It defaults to the Sales Team. However, assignment rules or manual selection within the Finance module can set a separate team per invoice.
If the Restrain Invoice Visibility (Teaming) feature is on, you only see invoices in the Finance module if you are on their Finance Team or you are one of their assigned users. Administrators can turn this feature on or off in the System Configuration module under Finance Module Settings.
When an invoice is created, the Finance Team is the same as the Sales Team unless an assignment rule sets it to something else. Users whose roles include the Can Assign Invoice permission are allowed to manually change the team to one of the teams to which they belong. The Finance team is about the responsibilities and assignments within your company and does not affect the monetary or unit values. Therefore, you can modify the Finance Team even if an invoice is locked.
Note: If the Sales Team changes in a revision, the Finance Team is updated if it defaulted based on the Sales Team and was not changed in Finance. However, if the Finance Team was set manually or based on an assignment rule, the Finance Team will not change as part of a Sales revision.
Decimal Precision
Operative can globally configure the Finance module to calculate Invoice Line Item data as either 2 or 4 decimal places depending on your company’s needs. This should be a one time setting and not change after significant production data exists.
Most currencies used in AOS typically support up to two decimal places, so Invoice totals are always provided as two decimal places, since that is the final number you are paid. However, to give a more granular understand of value, the actual invoice lines that are summed to produce those totals are four decimal places by default. This is useful when you apply discounts that produce decimals in unit costs. However, if your accounting system and internal processes require only two decimal places for invoice lines, Operative can configure this for you. This setting is not expected to change after it is set. The setting applies only to new data or data modified after the setting is changed. There is no migration for existing data which will maintain whatever decimal places it had on creation.
There are actually four settings involved in this, but you should normally set all of them the same. The settings appear within the System Configuration module under System > Tenant Settings:
-
Decimal Point controls how many decimal places are actually saved within the database of the module that primarily works with the data. This is read-only and Operative sets this on request. This is NOT something that should change regularly and is typically set at implemented or very early on. Many fields appear, but for AOS Finance only two of them are currently relevant:
-
Digital Cost controls the decimal places set by Sales in digital deals for monetary values then passed along to Finance. At this time, there are no separate settings for Unit Cost vs. Total Costs or for Net vs. Gross vs. Cost Before Discounts. When using Finance, you typically want this to be less or equal to the decimal places that Finance will use. For example, if you want Finance to use two decimal places, it is not a good idea to have Sales use four decimal places, because there can be minor discrepancies.
-
Invoice Lines controls the decimal places set by the Finance module for Invoice Line Items. This has been certified as 2 or 4. Theoretically it could be set to 3, 1, or 0, but Operative has only tested or certified using 2 or 4 decimal places. This is a global setting and cannot vary by Invoice Organization or currency. This also will not prevent four decimal places from appearing in the API, data stream, or export. However, if this is set to two decimal places, you can safely assume the third and fourth decimal places appearing in the API, data stream, or export will always be zeroes that you can truncate, round, or otherwise ignore.
-
-
Rounding Definition only controls the user interface. This does not affect the data stream, API, or audit. This is available if for some reason you want the system to calculate and store more decimal places than it shows. For digital fields, this is not recommended. It is a good idea to set the Decimal Point and Rounding Definition to match.
-
Digital Cost controls the decimal places shown in the Sales module UI for digital deals.
-
Invoice Lines controls the decimal places shown in the Finance module UI.
-
For Finance, the Decimal Point.Invoice Lines setting directly controls the following fields:
-
Net Invoice Amount
-
Gross Invoice Amount
-
Recognized Revenue
-
Invoice Amount Without Discounts (Export only)
How the decimal value is derived varies depending on the calculation used to produce the value.
-
When multiplying with decimal places, the value is rounded to the configured decimal places.
-
When dividing, such as prorated or straightline contracted divisions, the value is truncated at the precision and then any remaining value is distributed to ensure the totals add up to their source.
Most other fields are based on addition or subtraction related to these fields or the Sales module fields. Percentages, like those used for discrepancies in the export, do not adhere to these settings as they are not monetary values.
Zero Quantity Exclusions
On request, Operative can configure the system so that the Sales module suppresses line items with zero as the Quantity from appearing within the Finance and Orders modules. This occurs for standalone as well as for child line items within packages. The setting name is suppressZeroQuantityLines, and it must be configured for you by Operative. By default, this setting is off (false), and line items are sent to the Finance module as long as their Can Invoice field is true or for children in a package where all children are Can Invoice false. However, if you want the Finance and Orders module to exclude line items where the Sales Quantity is Zero, request that Operative enable the Sales suppressZeroQuantityLines setting. However, this setting is not expected to change and is typically set to true or false only when the system is initially set up for your company. Operative has not tested the ramifications of changing it when a significant amount of data already exist in your environment.