Extended Web API changes for Financial Accounts
Overview
As part of the work for the new Financial Accounts module, we are making changes to Extended Web API endpoints and logic to support Job Bill Items and Supplier/Customer Accounts.
Who is affected?
Users of Extended Web API who are using Work Item and Job Work Item endpoints.
This change is planned to roll out in two phases. This phase introduces new Extended Web API endpoints and marks old as obsolete, while the second phase will remove them.
Details
All Work Item and Job Work Item endpoints are now marked as obsolete i.e. routes starting with api/work-item
or api/job-work-item
.
Job Work Units
For create, read, update and delete (CRUD) operations on Job Work Units (Job Work Items or Job Bill Items) callers should start using new Job Work Unit
endpoints, starting with the api/job-work-unit
route.
Work Items
The old Work Item endpoints are split into two routes: Work Unit api/work-unit
and Change Component Work Item api/change-component-work-item
. The first endpoint deals with applicable Design and Design Interfaces (DoDIs) for all Work Units (Work Items and Bill Items), while the second one handles applicable component DoDIs specifically for Change Component Work Items (i.e. items belonging to designs_changeComponentWorkItems
).
Job Edit
As part of this change, the job edit endpoint now also handles Job Bill Items cost re-calculation when the parent asset item is set, changed, unset or the job status is changed to Completed
. Please note that it is important to use the Extended Web API job edit endpoint api/job/{id}
to alter the relationship between job and it's parent asset item, otherwise the cost calculation for Job Work Units will not be applied.
Budget Summary
The Budget summary endpoint api/budget/{id}/summary
now returns extra results for each of BudgetPeriodJobCostsWebModel
with information about the BillsPerJobStatuses
in addition to existing CostsPerJobStatuses
. Costs are calculated as before using costs of all Job Work Items for jobs that fall into specific budget period, while Bills now used the same logic but are using costs of Job Bill Items on jobs in budget periods.
Team Pricing to Account Pricing
As part of Finance Module, Team Pricing will become Account Pricing with all teams linked to an account sharing the pricing structure. Users should move any pricing data linked to a Team via attributes_teamsPricingTeamPricing
to a supplier account (designs_supplierAccounts
) using the attributes_financialAccountsPricing
link instead as we plan on removing the link from Teams to Team pricing in due course.
The Extended API will first check for rates using Account Pricing attributes_financialAccountsPricing
but will continue to support cost calculation via attributes_teamsPricingTeamPricing
when no account pricing is available for the time being.
Additionally, all work items will now temporarily have two pricing attributes, the previous attributes_workItemsTeamPricing
and a new link via work units pricing interface attributes_workUnitPricingPricing
. Again, the Extended API code will first check for rates using the Work Unit pricing before falling back to the previous Work Item link. The Work Item link will also be removed once users have had opportunity to migrate their data.