Generating WIP and Estimate Job Costs
Overview
A job cost is the actual cost of analysis to the laboratory for the job. The pricing framework for internal costs is maintained in exactly the same manner as with client invoicing. A costing price catalogue group is created and associated with the laboratory and related price books contain price schedules for the costs. The price codes used for costing are the same as those assigned for client invoicing.
Job costs are generated as estimate or work-in-progress amounts:
- Estimate (EST) amount for a job cost—The amount presuming all outstanding work is completed, so therefore based upon what work is done to date and what is outstanding.
- Work-in-progress (WIP) amount for a job cost—The amount based upon what work is done to date.
A job cost estimate or WIP is generated based upon the job's samples and tests and their costing status.
A job cost estimate or WIP does not include surcharges, rebates, discounts nor taxes, and are not in any way impacted by fixed pricing in the job or by quotes.
A job cost estimate or WIP is generated at any time after registration.
Process
Job costs are only generated for production, internal and proposal jobs.
This option is not available if the job is not activated and still has a Workflow Status of Registered or if the job is not a production, internal or proposal job.
Ensure that WIP and estimate amounts are up to date prior to generating estimate or WIP amounts for job costs. WIP and Estimate amounts can also be updated in the CCFNRP—Financial Report application.
Configuring which Samples, Sample Schemes and Sample Scheme Analytes in the Job are Costed Entities
Samples, sample schemes and sample scheme analytes within the job must be flagged for inclusion in job costs.
Configuring whether Samples in the Job are Costed
Each sample has a flag to indicate whether it is costed.
When an unknown or QC sample is registered for the job using the Create Sample action, the sample's Include in Costs defaults to checked. This check box is updatable during the sample creation. Refer to Maintaining Sample Tests to specify whether a sample group is included in job costs.
When an unknown or QC sample is copied from a source sample using the the Copy Sample or Create Sample from Template actions, the destination sample's Include in Costs defaults from the source sample.
When a QC sample is added to the job using the Append/Overwrite QC action in the CCREGN—Job application or by adding a QC sample using the CCQCSM—QC Sample Maintenance application, the Include in Costs defaults are set based upon laboratory settings: Include Duplicates in Costs, Include Replicates in Costs, Include Blanks in Costs, Include Standards in Costs and Include Spikes in Costs. Refer to Configuring Invoicing Details for a Laboratory to set these flags.
After a sample is registered, the sample's Include in Costs is updatable. Refer to Maintaining Samples to update whether a sample is included in job costs.
Configuring whether Schemes and Analytes in the Job are Costed
Each scheme and scheme version analyte has a flag to indicate whether any related sample schemes and sample scheme analytes are costed.
Configuring Package Pricing and Regular Pricing for Job Costs
The process for configuring packages, schemes and analytes for job costs is largely the same as for configuring them for generating estimate or WIP amounts for job invoices and for generating client invoices.
The sample schemes and sample scheme analytes must link, in some manner, to a price code for pricing job costs as the price code is the link between the priced entity and the price schedule used to determine the price.
Job cost prices are determined using package pricing and regular pricing, and pays no heed to any fixed pricing in place in job schemes and job scheme analytes.
Job cost pricing determines prices in the following order:
- Package pricing—Where any costed sample scheme or sample scheme analyte is linked to a package price code, then the sample is priced using the active price book, according to the base price and block price determined using the price schedule linked to the package price code.
A sample may have sample schemes and sample scheme analytes that link to more than one template sample and package price code. Where this is the case, the sample is priced for multiple packages.
- Regular pricing—Where any costed sample scheme or sample scheme analyte is not linked to a package price code, then the sample schemes and sample scheme analytes are priced individually using the active price book, according to the base price and block price determined using the price schedule linked to the job scheme's or job scheme analyte's price code.
Note: The price codes used for determining job cost amounts are the same ones used for raising job invoice amounts and client invoices. The only difference is that where fixed pricing is in place on job schemes or job scheme analytes, then it is applied for job invoice amounts and client invoices, whereas it is not applied for job costs.
Job cost pricing is determined for entities that are flagged for inclusion in job costs.
Upon Generating Job Cost Estimate or WIP Amounts
Upon generation of an estimate or work-in-progress job cost:
-
The template used to create an estimate job cost is the laboratory's Cost Estimate Report Template.
-
The template used to create a work-in-progress job cost is the laboratory's Cost WIP Report Template.
-
The job cost line items are extracted for the report in the system's Locale, and the LANGUAGE variable for the report, available in the DSC, is set to the system’s Locale.
Notes:
There is no actual definition of the system locale but rather the presumption that the primary entries in the price schedules for the Base Price Note and Block Price Note are extracted for the job cost WIP and estimate and WIP reports. For most users this is the en_US locale.
If WIP and estimate job cost reports are to include locale-based notes, then the report templates need to be modified to locate the alternative locale strings from the price schedules instead of using the default notes that are stored in the job cost WIP and estimate database views.
-
An entry for the estimate or work-in-progress job cost is created in the report repository (CCREPORT table) and has a Report Type of Grid.
-
The event is audited.
-
The job costing process is executed on the system batch queue. The BATCH_QUEUE_TASKS_PRIORITY application preference is used to set the batch queue task priority for these batch job executions.
Refer to the Appendix—Pricing Engine for details on how the pricing is determined for job costs.
Generate estimate costs for a job
Generate work-in-progress-costs-for-a-job
Configuring Package Pricing
Package pricing is a concept whereby a suite of schemes and analytes registered on a sample is priced using a package price for job costs and client invoices.
For each distinct package price code on the sample schemes and sample scheme analytes in the job, each sample where any of its sample schemes and sample scheme analytes linked to that package price code is priced according to the package price code.
Configuring Template Samples as Packages for Package Pricing
A package is set up as a template sample with sample schemes and sample scheme analytes denoting the suite of tests. A template sample has an optional link to a package price code (sample-based price types only), so that the suite of tests can be priced as a package.
Creating price codes with a one-to-one link to packages is typical, however, more than one package can be associated with a single price code if that suits the laboratory.
Refer to Maintaining Price Codes to configure codes.
When a sample-based price code is used as a package price, there is some difference in the way the price code is used to calculate costs:
- When used for package pricing, then the base price is applied only once for all samples associated with the package, that is, the base price is effectively used as a set up charge for package pricing.
- When used for regular pricing, then the base price is applied for each sample.
Refer to Maintaining Template Jobs and Samples to configure template samples with package pricing.
Registering Tests using Template Jobs and Samples for Package Pricing
Where one or more sample schemes and sample scheme analytes are registered using a template job, then the sample schemes and sample scheme analytes are linked to the related template sample. If the template sample is linked to a package price code, then those sample schemes and sample scheme analytes are linked also to the package price code. The job scheme's or job scheme analyte's price code defaults from the template job scheme and job scheme analyte, respectively. Refer to Registering Jobs from Template Jobs.
Where one or more sample schemes and sample scheme analytes are registered using a template sample (aka a package), then the sample schemes and sample scheme analytes are linked to the template sample. If the template sample is linked to a package price code, then those sample schemes and sample scheme analytes are linked also to the package price code. Where the creation of a sample scheme or sample scheme analyte causes the creation of a job scheme or job scheme analyte, then the job scheme's and job scheme analyte's price code default from the scheme and scheme version analyte, respectively. Refer to Adding Samples using a Template Sample to a Job and Adding Tests using a Template Sample to a Sample.
Where registration using a template job or template sample places package price code on sample schemes and sample scheme analytes, then those sample schemes and sample scheme analytes are priced using package pricing.
Applying and Removing Package Pricing to and from Samples
Where a sample scheme or sample scheme analyte is linked to a template sample, the package price code can be removed or re-applied from the template sample, as required. Refer to Applying and Removing Package Pricing to and from Samples. Where a package price code is removed from sample schemes or sample scheme analytes, then those sample schemes and sample scheme analytes are priced using regular pricing.
Configuring Regular Pricing
For each job scheme or job scheme analyte that links to a price code, each sample scheme or sample scheme analyte, where the sample scheme and sample scheme analyte have not been included in package pricing, are priced according to the job scheme's or job scheme analyte's price code, respectively.
Configuring Schemes and Analytes for Regular Pricing
Where a master scheme has a price type of scheme-based, sample-based or unit-based, the master scheme has an optional link to a price code (scheme-based, sample-based or unit-based price codes only).
Where a master scheme has a price type of analyte-based, the master scheme version analytes have an optional link to a price code (analyte-based price codes only).
Creating price codes with a one-to-one link to schemes or analytes is typical, however, more than one scheme or analyte can be associated with a single price code if that suits the laboratory.
Refer to Maintaining Price Codes, Maintaining Schemes and Maintaining Scheme Version Analytes.
When a sample-based price code is used as a package price, there is some difference in the way the price code is used to calculate prices:
- When used for package pricing, then the base price is applied only once for all samples associated with the package, that is, the base price is effectively used as a set up charge for package pricing.
- When used for regular pricing, then the base price is applied for each sample.
Registering Tests using Master Schemes and Analytes for Regular Pricing
When tests are specified when adding a group of samples to a job, thereby causing the creation of a job scheme or job scheme analyte, then the job scheme and job scheme analyte inherits the price code from the master scheme and scheme version analyte, respectively. Refer to Maintaining Sample Tests.
Registering Tests using Template Jobs and Samples for Regular Pricing
Where one or more sample schemes and sample scheme analytes are registered using a template job, then the sample schemes and sample scheme analytes are linked to the related template sample. If the template sample is not linked to a package price code, then those sample schemes and sample scheme analytes are not linked to any package price code. The job scheme's or job scheme analyte's price code defaults from the template job scheme and job scheme analyte, respectively. Refer to Creating Production Jobs from Template Jobs.
Where one or more sample schemes and sample scheme analytes are registered using a template sample (aka a package), then the sample schemes and sample scheme analytes are linked to the template sample. If the template sample is not linked to a package price code, then those sample schemes and sample scheme analytes are not linked to any package price code. Where the creation of a sample scheme or sample scheme analyte causes the creation of a job scheme or job scheme analyte, then the job scheme's and job scheme analyte's price code default from the scheme and scheme version analyte, respectively. Refer to Adding Samples using a Template Sample to a Job and Adding Tests using a Template Sample to a Sample.
Where registration using a template job or template sample does not place a package price code on sample schemes and sample scheme analytes, then those sample schemes and sample scheme analytes are pricing using regular pricing.
Updating a Job Scheme's or Job Scheme Analyte's Price Code
A job scheme's or job scheme analyte's price code is updatable. Refer to Maintaining Job Schemes to update the invoicing details for a job scheme or job scheme analyte, respectively.
Configuring which Price Book is applied for Job Costs
The following terms are used in this process:
- Price catalogue groups—A A price catalogue group contains an ordered collection of price catalogues.
- Price catalogues—A price catalogue contains an ordered collection of price books. For example, all French price books containing normal price schedules.
Price books—A price book contains a group of Price Schedules. For example, all price schedules for January.
A price book is linked to a Currency and has a date range at which it may be applied.
- Price schedules for the same Price Code exist in different price books to allow for flexible cost calculations using a variety of models.
- Price schedules—A price schedule is the pricing structure for a given price code within a price book. The pricing structure comprises a monetary value and a detailed charging plan. The detailed charging plan can contain simple pricing or a sliding-scale of pricing contained with price schedule items.
When a job cost is created then the invoice's Currency defaults to the laboratory's Currency .
When a job cost is created then the Price Book defaults to the first price book that matches the job's Date Received and the job cost's Currency, found by searching all price catalogues in the laboratory's Costing Price Catalogue Group, ordered by position within the group, and by searching all price books within those price catalogues, ordered by the price book's Identifier; empty if none exist.
Where an entity has a price code for costing, pricing is determined by finding the price schedule within the active price book where the price schedule links to the same price code.
Configuring Price Catalogues, Price Books and Price Schedules
As intimated, price schedules are contained within a price book, and price books are contained within a price catalogue.
A price book has a currency and date range. Price books are placed into a price catalogue so that the price catalogue caters for a wide range of currencies and date ranges, where the pricing is considered to be similar across the books with variation due to different date periods.
Refer to Configuring Price Catalogues and Price Books and Configuring Price Schedules in a Price Book or Quote.
Configuring Price Catalogue Groups
Price catalogues are grouped into price catalogue groups, where a price catalogue can exist in multiple price catalogue groups. An org-scope price catalogue group can contain both org-scope and lab-scope price catalogues. A lab-scope price catalogue group can contain both org-scope and lab-scope price catalogues.
Configuring Laboratories for Costing Jobs
Laboratories are assigned a currency for job costing.
Since costing is laboratory-centric, rather than job-centric, each laboratory links to a costing price catalogue group. Really, for job costing, a laboratory would only need to link to one price catalogue, however, they are assigned a costing price catalogue group.
Price catalogues are assigned to laboratories via their costing price catalogue group. A pricing hierarchy exists from the laboratory's costing price catalogue group, to the price catalogue, to the price book. There is only one valid price book at any moment of time for job costing, and from this price book, price schedules are used.
When a job cost is created, the active price book defaults to the first price book that matches the job's received date and the laboratory's currency, found by searching all price catalogues in the laboratory's price catalogue group, ordered by position within the group, and by searching all price books within those price catalogues, ordered by the price book's identifier.
Whilst it is not possible to directly change the price book used for job costing, it could potentially change if another price catalogue group was selected for the laboratory, or the price catalogue members of that price catalogue group were changed or re-sequenced, or the the price books in the price catalogues were changed or re-sequenced.
A laboratory can have a number of costing price books, each based on the laboratory's currency. Most likely, where more than one cost price book is created, this reflects price adjustment over time. Therefore each cost price book has an active date range specified.
Refer to Maintaining Currencies and Maintaining Price Catalogue Groups, and to Configuring Invoicing Details for a Laboratory to configure the laboratory's currency and costing price catalogue group.
Example:
Price catalogue group: LABORATORY_COSTS
Price catalogues within the LABORATORY_COSTS price catalogue group:
- NORMAL_2016_COSTING
- NORMAL_2017_COSTING
Price books within the NORMAL_2016_COSTING price catalogue
- AUS_NORMAL_2016
- NZ_NORMAL_2016
Price books within the NORMAL_2017_COSTING price catalogue
- AUS_NORMAL_2017
- NZ_NORMAL_2017
Configuring Job Cost Estimate and WIP Templates
When an estimate job cost is requested from the CCREGN—Job application using the Generate Estimated Cost option, it is generated using the laboratory's Cost Estimate Report Template. When a work-in-progress job cost is requested from the CCREGN—Job application using the Generate Work In Progress Cost option, it is generated using the laboratory's Cost WIP Report Template.
Refer to Configuring Invoicing Details for a Laboratory to configure the default job cost document template for the laboratory.
Understanding the Differences between Estimate and WIP Calculations for Job Costs
Job costs are generated as estimate or work-in-progress amounts by the pricing engine:
- Estimate (EST) amount for a job cost—The amount presuming all outstanding work is completed, so therefore based upon what work is done to date and what is outstanding.
- Work-in-progress (WIP) amount for a job cost—The amount based upon what work is done to date.
The following table shows the differences in work-in-progress and estimate calculations.
|
Calculation type |
Price type |
Sample scheme's Workflow Status rule |
Sample scheme analyte's Workflow Status rule |
|---|---|---|---|
|
Work-in-progress |
Sample-Based |
No Result or Completed |
Not applicable |
|
Work-in-progress |
Scheme-Based |
Not applicable |
No Result or Completed |
|
Work-in-progress |
Unit-Based |
No Result or Completed |
Not applicable |
|
Work-in-progress |
Analyte-Based |
Not applicable |
No Result or Completed |
|
Estimate |
Sample-Based |
Anything other than (Listed Not Received, Insufficient Sample, Not Analysed) |
Not applicable |
|
Estimate |
Scheme-Based |
Not applicable |
Anything other than (Listed Not Received, Insufficient Sample, Not Analysed) |
|
Estimate |
Unit-Based |
Anything other than (Listed Not Received, Insufficient Sample, Not Analysed) |
Not applicable |
|
Estimate |
Analyte-Based |
Not applicable |
Anything other than (Listed Not Received, Insufficient Sample, Not Analysed) |
Understanding the Differences between Pricing by Price Type
A count is passed into the price schedule to determine the price. The entity that is counted varies by price type:
- Sample-based—The count is the number of samples, where:
- The sample is flagged for inclusion in job costs.
- At least one sample scheme is flagged for inclusion in job costs, and costed workflow statuses for WIP or estimate job costs exist on these sample schemes.
Where used in package pricing, the base price is applied only once for all samples associated with the package, and the block price is applied for each sample.
Where used in regular pricing, the base price is applied for each sample, and the block price is applied for each sample.
- Scheme-based—The count is the number of analytes in the scheme, where:
- The sample scheme analyte is flagged for inclusion in job costs, and costed workflow statuses for WIP or estimate job costs exist on these sample scheme analytes.
Then the cost is applied per sample that has that analyte count for the scheme, where:
- The sample is flagged for inclusion in job costs.
- The sample scheme is flagged for inclusion in job costs.
- Unit-based—The count is the value contained within the job scheme's Number of Units field, where:
- At least one sample scheme is flagged for inclusion in job costs, and costed workflow statuses for WIP or estimate job costs exist on these sample schemes.
- Analyte-based—The count is the value contained within the sample scheme analyte's Numeric Final Value field, where:
- The sample is flagged for inclusion in job costs.
- The sample scheme is flagged for inclusion in job costs.
- The sample scheme analyte is flagged for inclusion in job costs, and costed workflow statuses for WIP or estimate job costs exist on these sample scheme analytes.
Conditions for Generating WIP and Estimate Job Costs
During registration, the available flows are dependent upon the job's Workflow Status and the related invoice's Invoice Status.
|
Job's Workflow Status |
Registered |
Not Started
|
Completed |
Finalised |
Cancelled |
|||
|---|---|---|---|---|---|---|---|---|
|
Generate Estimated Cost Generate Work In Progress Cost |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
- Generating WIP and Estimate Job Invoices
- Maintaining Jobs
- Configuring Currencies
- Configuring Price Codes
- Configuring Price Catalogues and Price Books
- Maintaining Price Catalogue Groups
- Configuring Job Cost Details for a Laboratory
- Configuring Price Schedules in a Price Book or Quote
- Configuring Price Adjustments
- Configuring Taxes
- Generating Financial Reports
- Configuring Job Cost Report Templates
- Configuring the System Batch Queue
- Appendix—Pricing Engine
