Category Archives: Sage Accpac Modules

#26 Sage Project and job Costing Technical Information

Date: 2 June 2013

Because Sage 300 ERP has the capacity to run on local area networks, there may be times when more than one user needs to use the same Project and Job Costing database. Sage 300 ERP has two basic rules for protecting data integrity when workstations share the same data:

• Make sure no more than one user is working in the same batch at the same time.
• Make sure no one is working in a batch that you want to print or post.

Sage 300 ERP uses the following access types to protect data in a multiuser environment:

Global Locks – While you run a global lock process, no other process can be run on the system until processing is finished.
Single-User Processes – While you run any one of the processes in this group, no other process in the group can be run. However, users may work in other Project and Job Costing forms not included in the group.
Passive Concurrency (Multiuser Data Protection) – You can run any of these processes while others are using them, but Project and Job Costing protects the data by preventing more than one user from making changes to the same record at the same time.



Tags: ,

#25 Periodic Processing in Sage 300 ERP PJC Module

Date: 26 May 2013

This post describes the various processing and reporting tasks you perform at period‐end or at other regular intervals in your Project and Job Costing system. The icons available to do the periodic task in PJC are:-


• You use icons from the A/R Billing folder to generate, edit, and post entries for invoice batches that Project and Job costing sends to Accounts Receivable.
• You use icons in the Revenue Recognition folder to generate and post entries to recognize project revenues and matching costs.
• You use icons in the Reopen Closed Projects folder to create and post worksheets that reopen projects and reverse revenue that was recognized on completion of the projects.
• If you do not use the option to create general ledger transactions during posting, you choose the Create G/L Batch icon from the Periodic Processing folder to produce batches of general ledger transactions.
• You use the Clear History icon to remove from your database printed posting journals, posted documents, closed contracts, transactions for closed contracts, and posting error journals that you no longer need.

Icons from A/R Billing folder:


• You use the Create Billing Worksheet form to generate invoice entries for projects that you want to bill. The entries are added to a billing worksheet, which you can view, edit, and post.
• The Billing Worksheet form lets you edit the invoice entries you generated using the Create Billing Worksheet form. You can change the debit amount and the credit amount, as well as the percentage complete (for projects that use a percentage completion accounting method). For some time and materials transactions, you can change a non-billable detail to billable. The Billing Worksheet form also lets you post individual worksheets.
• You use the Post Billing Worksheets form to post a range of billing worksheets. Unless you use the option to append invoices to an existing invoice batch, Project and Job Costing sends each worksheet as a separate invoice batch to Accounts Receivable.

Icons from Revenue Recognition:


• You use the Create Revenue Recognition Worksheet form to generate entries to recognize revenue for all your projects or for a selected range of projects or project categories. Revenue recognition also closes projects that you have marked Completed.
• You use the Revenue Recognition Worksheet form to review the revenue recognition entries before posting them. For projects that use a percentage complete accounting method, you can change the percentage complete, and then recalculate the amounts. Once you are satisfied that the entries are correct, you post the entries from the Revenue Recognition Worksheet form.

Icons from Reopen Closed Project:


• You use the Create Reopen Projects Worksheet form to select closed projects that you want to reopen and to generate reversing entries for any revenue that was recognized on completion of the projects. The entries are added to a Reopen Projects Worksheet that you can view, edit, and post.
• You use the Reopen Projects Worksheet form to check or delete the entries generated by the Create Reopen Projects Worksheet form. You also use the form to post the worksheet.

Note: You can close a project that has outstanding retainage payable or retainage receivable, however, you will have to reopen the project if you need to post retainage invoices, later.



Tags: , , ,

#22 Understanding Sage 300 ERP Project and Job Costing Settings

Date: 6 May 2013

Sage 300 ERP PJC settings screen allows us to define how PJC is going to work for a particular organisation. It starts with the naming conversion of contract, Project and Categories. Sage PJC allows naming the contract, project and category to the company specific naming conversion. For instance if in a company contract is called as agreement and each project under agreement is called assignment then we can change the level 1, 2 names in “PJC Setting” to be agreement and assignment. Sage 300 ERP will respect the naming convention defined in PJC settings in all its modules.

Following is the Sage 300 ERP PJC “Settings” screen where we can define the setup.
PJC setup screen

Default labour Type: is the method how Labour cost is going to allocate to the projects. It gives you three options “None”, “Flat Rate Per Labor Hour/Unit”, “Percentage Of Labor Cost”.

  • None – System will not allocate labour cost to the Projects.
  • Flat Rate Per Labor Hour/Unit– System will allocate the predefined fixed labour cost per unit (Defined in Labor Rate field) to the Project.
  • Percentage of Labor cost– System will allocate the percentage of the actual labour cost (Defined in Labor Percentage field) to the Project.

Default Overhead Type: Overheads are the cost that cannot be directly allocated to the project but are necessary to complete the project like periodic expenses, such as utilities, rent, and administrative salaries are indirect costs that you often need to allocate to projects on some rational basis. “Default Overhead type” allows defining method how overhead cost is going to allocate to the projects. It gives you three options “None”, “Flat Rate per Unit”, “Percentage of Cost”.

  • None – System will not allocate Overhead cost to the Projects. You can allocate overhead manually by assigning overhead expenses to categories within a project.
  • Flat Rate Per Unit– System will allocate the predefined fixed overhead cost per unit (Defined in Overhead Rate field) to the Project. This method will be used when overhead cost is in the proportion to the number of units of equipment used in the project.
  • Percentage of cost– System will allocate the percentage of the Overhead cost (Defined in Overhead Percentage field) to the Project. This method is used if the overhead is in the proportion to the total project cost.

Force Listing of Transactions: if selected, this option will force you to print the transaction listing before you can post the transaction.

Default Accounting Method: Accounting method determines how the system will recognise the revenue. Accounting Method selected in the “Default accounting method” field will be the default for the new contract or project. The options that we can select in this field are:

  • Completed Project
  • Total Cost Percentage Complete
  • Labour Hours Percentage Complete
  • Billings and Costs
  • Project Percentage Complete
  • Category Percentage Complete
  • Accrual Basis

Each accounting method will recognise revenue differently. I will explain each accounting method in detail in my next post.

Default Contract Style: Style tells system at which level to track the cost for each project. Selected contract style will be default for new contract but can be changed for each contract. Similarly selected style for contract will be the default for the project under that contract but can be change for each project. Different contract styles that are available under this option are:

  • Standard- Under Standard style the cost is tracked at the resource level. System allows you to use separate forms to assign resources to a project.
  • Basic- Under Basic style you can only track cost at up to category level.

Default A/R Item Number: For “time and materials” and “fixed price” projects if “item type” Invoice is issues it will take default A/R item selected in this option. Default item on the item type invoice can be set different for each project.

Default A/R Unit of Measure: Unit of measure selected in this option will be default for the item-type invoices. Each project can have different Unit of measurement as default.

Aging Periods: Here you can define five aging periods that can be used to classify the documents as current and overdue on reports.

Update Budget: If selected, system will update the budget whenever you process a transaction. System will take long time if it needs to update the budget for each transaction. So select this option only if you need to update the budget for each transaction.

Update Payroll: If this option is selected system will use the payroll expense and employee expense accounts from PJC when update Payroll option is used in PJC. If not selected system will use the accounts specified in US/Canadian Payroll system.

Percentage Complete Method: In this option we can specify when to clear billings and WIP Accounts for “Percentage Complete Accounting Method” Projects. Options are:

  • Clear Billings and WIP during Revenue Recognition: Generally used for short term contracts.
  • Clear Billings and WIP during Project Close.


To be Continue…


Tags: , , ,

#13 Accpac Help Not working

Date 05 June 11

Last week one of my clients faces an issue where on his PC Client help was not working. And the error he getting is “Internet Explorer cannot display the webpage”. Is it related to Sage Accpac? No way, this error is related to Accpac.
Then why it is coming when pressing F1 to access Accpac help. It is since Accpac Help is not in the URL allows list setting in the registry.

The solution to the above problem is:
Log is to the registry by following command
Then follow the following path:
If not available then create one.
Further add following two values under the above key:
“MaxAllowedZone” as Dword value and set it either 1 or 2 or 3 or 4
“UrlAllowedList” as string value =”Accpac server help folder path”

After doing the above just restart your PC and enjoy your Accpac help is working now.



Tags: ,

#8 Accpac GL Sub-Ledger

Date: 01/05/2011

Continue from last post…
The following section describes fields:
BASEGL This field contains the base General Ledger number that the substitution processor will edit. This number may be either formatted or unformatted.
This field will be unchanged by a Process call.

SEGNUM1..9 This is the 6-character segment key code in General Ledger specifying a named segment to substitute. Note that while this key is numeric it is not the segment number in the account — consult the relevant General Ledger documentation for more information on segment values and account structures. Unused fields should have the key set to “000000.”
These fields will be unchanged by a Process call.

SEGVAL1..9 This is the up-to-15 character segment value that the substitution processor will substitute for the corresponding segment in the base General Ledger number.
These fields will be unchanged by a Process call.

SEGLENGTH1..9 These fields contain the lengths of the substituted segments. The length will be zero if the substitution processor did not find the corresponding segment in the raw
General Ledger number.

SEGINSERT1..9 These fields contain the offsets (1-origin) in the unformatted General Ledger number of the substituted segments. The offset will be zero if the substitution processor did not find the corresponding segment in the raw General Ledger number.

RESULTGL This field contains the resulting General Ledger number generated in the substitution process. This number is unformatted.

FORMATGL This field contains the resulting General Ledger number generated in the substitution process. This number is formatted.

OLDSEGVAL1..9 These fields contain the old segment values that the substitution processor substituted with the new segment values. The value will be blank if the substitution processor did not find the corresponding segment in the raw General Ledger number.
The positions correspond to the sequence in the input fields.

NEWSEGVAL1..9 These fields contain the new segment values that the substitution processor substitutes for old segment values.The value will be blank if the substitution processor did not find the corresponding segment in the raw General Ledger number.

NOTE: The client application should not specify the same segment key twice with different values; doing so may give incorrect results.



#7 Sage Accpac GL Subledger Services

Date: 24/04/2011

Posting to General Ledger is an important task for all subledgers in the Sage Accpac ERP environment. However, it requires a significant amount of code and effort. To relieve the subledgers of this, accpac package provides a number of common services relating to the processing of General

Ledger transactions

The Subledger Services include:

• A facility for modifying General Ledger numbers via segment substitution.
• A standard interface that handles posting to either General Ledger or to an intermediate holding database.
• A database suitable for holding this data pending final posting through to General Ledger.
• A reporting service to list transactions held in the database.
• A transfer service to perform final posting through to General Ledger.
• Consolidation of ledger transactions.
• Additional speed in posting, if the client application selects deferred posting to General Ledger.

Subledger Services consist of three superviews and a callable VB UI program that provide these services. To call the superviews, use the standard routines for accessing and modifying data in other views.

The following table gives the Roto ID and description of each superview:

Roto ID View Name Description
GP0800 GPGLFMT Segment Substitution Superview
GP0930 GPGLPE Transaction Transfer Superview
GP0950 GPGLPO General Ledger Transaction Posting

Installation and Activation

Subledger Services installs with the System Manager. Activation occurs in one of two ways:

• Directly from Data Activation facility on the Administrative Services desktop.
• Invoked by the client application. In this case, no prompt to proceed with activation or meter box will appear.

Client applications that require Subledger Services should check that it is activated and activate it themselves if it is not. Subledger Services currently requires no other
applications. It will create export files if General Ledger is absent.
Integrity checking
Subledger Services has an integrity checker that appears on the Desktop. Users should run it as part of normal system testing.

Segment Substitution

General Ledger codes may have multiple segments. The account segment may not be modified. The other segments may differentiate locations, departments, or even separate corporations under a single management structure. In order to allow substitution, each General Ledger code has a “breakout ID” associated with it. This breakout ID indicates the order and kind of segments in the code. Substitution entails looking up the General Ledger number, getting the breakout ID, and then replacing the appropriate segments in the code with others. To format the General Ledger code, the resulting code is in turn looked up in the General Ledger database. General Ledger provides the database components necessary to deal with these segments, but does not provide the mechanism for taking a base General Ledger number and generating a segment-substituted one from it. The superview GPGLFMT supplies this service.

Usage Protocol

The substitution superview uses the following protocol to process the data:

Load and Open the view.
Put the base GL code and substitution values.
Process the view.
Get the resulting GL code and other information.
Close the view.
Unload the view.

Because this module does not modify data, it does not require transaction processing.

Substitution buffering

GPGLFMT buffers the results of previous segment substitution parameters for a given invocation (viewOpen … viewClose cycle). As a result, it does not go to General Ledger for every lookup, if the client is repeatedly substituting the same account codes. However, if you want to flush the buffers at any point, call CANCEL. Note that GPGLFMT does not retain results in a database, but merely caches them in the view handle; there are no leftovers from previous invocations to flush. There is currently no provision to adjust either the number of buffers or the caching scheme.

Error Codes and Messages

Process returns one of the following codes:

Code: Meaning:
0 Segment substitution was successful.
9901 A recoverable error occurred.
9902 An unrecoverable system resource error occurred.
9903 An unrecoverable internal error occurred.
9904 The base GL account does not exist.
9905 The result GL account does not exist.
9906 The GL data is inconsistent.

The client application can select error message reporting using the Browse entry point. Call Browse with bAscending set to TRUE to enable error messages or with bAscending set to FALSE to disable them. The system will return the error codes in either case to allow the client application to use its own error messages, or to continue processing in some other fashion.

For proper processing, both the base and result General Ledger numbers must exist. This is because the substitution pattern is a property of the General Ledger code.

However, because subledgers can add numbers at a later time, the substitution code will attempt to continue processing by providing reasonable values even if it cannot
find the General Ledger numbers.
If the base does not exist, the formatted number will be the base, and the unformatted result will be the base stripped ofits formatting characters. If the base exists but the result does not, both theformatted and unformatted results will be the substituted account number, built from the unformatted base.

If General Ledger is not installed, the calling protocol given above will work although GPGLFMT will not make substitutions. This allows applications to call GPGLFMT in the same way with or without General Ledger.

Field Descriptions

Name Type Size Description
GL Numbers (BASEGL) String 45 Base GL Number
Substitution values (SEGNUM1..9) String 6 Segment Number 1 to 9
SEGVAL1..9 String 15 Segment Value 1 to 9
SEGLENGTH1..9 Integer 2 Segment Length 1 to 9
SEGINSERT1..9 Integer 2 Segment Insert Point 1 to 9
RESULTGL String 45 Substituted GL Number
FORMATGL String 45 Formatted GL Number
OLDSEGVAL1..9 String 15 Old Segment Value 1 to 9
NEWSEGVAL1..9 String 15 New Segment Value 1 to 9

Will try to provide more detail related to the fields in my next blog post.



Tags: , , , , ,

%d bloggers like this: