Show/Hide Toolbars

Jim2® Business Engine Help File

Macros are available for two purposes:

1.To customise the default billing job fault description (within the stock grid) and invoice description. The macro can be specified at a global level, or can be overridden for a particular machine.

2.To customise the stock description at a job level. Macros with Meter as part are available. The macros are stock-specific and can be edited via View Stock > Machines > Macro Desc.

 

There are three areas where macros can be edited:

 

On the ribbon, go to Tools > Options > Machine > Machines

 

machine macros

 

3.Within this area of Options, any macro with Meter in it is unavailable.

 

You can change the default Fault Desc. and Invoice Desc. by adding macros to the descriptions.

 

The available macro options are shown below.

 

All

 

Project > View/Edit Machine

 

view machine2

 

Stock > View/Edit Stock

 

stock macro

 

There are default macros set for the Meter Type and Billing Type drop-down lists on the Machines tab already.

 

The list of macros is available either by right clicking on the field, or by clicking the + button attached to the field.

 

Macros

Having some text before the macro is optional, as well as text after the actual macro:

{{"Text before="Project.Meter.Counter.Name}} is valid

Example: {"Last Read="Project.Meter.Job.Previous Job.Meter Read" "}}

 

As well as:

{{"Some text before="Project.Meter.Min - Base TF" Some text after"}}

 

And:

{{Project.Meter.Min - Base TF" This only has additional text after"}}

 

The ? Operator

This has two forms:

 

One where there is a true part and a false part:

{{<Macro to test>?<Value if true>:<Value if false}}

 

And another that just has a true part:

{{<Macro to test>?<Value if true>}}

 

The macro to test is evaluated and has a value. The macro will be set to the value of the value if true part. If the macro to test evaluates to nothing, the macro will be set to the value of the value if false part, if it exists, eg.

{{Project.Meter.Min - Base TF?"There is a min charge!":"There is no min charge for this one"}}

 

The macro Project.Meter.Min - Base TF is evaluated. If it has a value, the macro result will be:

There is a minimum charge.

 

If it does not have a value, the macro result will be:

There is no min charge for this one

 

The macro result can itself also contain a macro:

{{Project.Meter.Min - Base TF?Project.Meter.Counter.Name" charges a minimum charge"}}

 

If the Project.Meter.Min - Base TF isn’t empty then the above macro might evaluate to:

Min Charge charges a minimum charge

 

Note: All macros begin with {{ and end with }}

 

Macros in Options (also in Meter Specific Macros)

Macro

Description

Project.Card.Name

The name of the card file attached to the machine.

Project.Project #

The Machine number.

Project.Serial #

The machine serial number.

Project.Missed Cycles

The number of times the machine has had its billing skipped.

Project.Item.Code

The machine Item code.

Project.Item.Make

The machine Item make.

Project.Item.Model

The machine Item model.

Project.Item.Description

The machine Item description.

Project.Job.Bill Date

For non-manual machines copier billing, this is the same as the Next Bill Date, otherwise it is the submission date, if supplied. There are sub-categories under this and following Project.Job entries in this table..

Project.Job.Date In

The date the job was created.

Project.Job.Date Due

The date due on the job that was created. For copier billing jobs, this normally relates to the Next Bill Date on the machine.

Project.Job.Read Date

When manually entering a read, this date corresponds to the Date field in the Billing Meter Read screen. When a meter read job is generated via an MPS feed, this date will contain a value if it is supplied as part of the feed.

Project.Job.Previous Job.Bill Date

This corresponds to the Bill Date value for the previous job of the same type for the machine when ordered by Date Due.

Project.Job.Previous Job.Date In

The date in of the previous job on the machine.

Project.Job.Previous Job.Date Due

The date due of the previous job on the machine.

Project.Job.Previous Job.Read Date

The read date of the previous job on the machine.

Project.Job.Previous Job.Date Out

This is the date out value for the previous job of the same type for the machine when ordered by Date Due. This is typically the invoice date of the previous job.

Project.Job.Next Job.Bill Date

This is the calculated Next Bill Date for the machine. It takes into account the current Next Bill Date and Billed frequency.

 

Meter Specific Macros (including the above macros)

Macro

Description

Project.Meter.Counter.Name

The Meter Name as per the meter setup.

Project.Meter.Rate TF

The Rate Ex as per the meter setup.

Project.Meter.Rate TP

The Rate Inc as per the meter setup

Project.Meter.Base TF

For a Base Charge meter type, this is the Rate Ex, otherwise this is an empty value.

Project.Meter.Base TP

For a Base Charge meter type, this is the Rate Inc, otherwise this is an empty value.

Project.Meter.Min TF

For a Min Charge meter type, this is the Rate Ex, otherwise this is an empty value.

Project.Meter.Min TP

For a Min Charge meter type, this is the Rate Inc, otherwise this is an empty value.

Project.Meter.Min – Base TF

For v3.2 style machines, this is the minimum charge excluding tax, minus the base charge excluding tax. For post v3.2 machines this is the same as Rate TF, as minimum charges already exclude any base charge amounts. This macro is only supported for legacy reasons, and should not be used if there are no v3.2 style machines.

Project.Meter.Min – Base TP

For v3.2 style machines, this is the minimum charge including tax, minus the base charge including tax. For post v3.2 machines, this is the same as Rate TP, as minimum charges already exclude any base charge amounts. This macro is only supported for legacy reasons, and should not be used if there are no v3.2 style machines.

Project.Meter.Effective Periods

Returns the number of billing periods of the machine this particular meter is being billed for. For a quarterly billed meter on a monthly billed machine, this value will normally be 3. This calculation also takes into account the number of billing periods skipped. For the machine above, if the machine's billing had been skipped 4 months previously, this value would be 6 as it is now billing two quarters.

Project.Meter.Missed Cycles

This displays the number of missed cycles. If no cycles have been missed, this is an empty value.

Project.Meter.Min Charge Pages

This evaluates as the number of pages that would be required to make up the minimum charge. It considers who the meter is being billed to when performing the calculation. For example, a machine that has a Finance Black Meter and a Service Black Meter, as well as a minim charge. A similar effect can be achieved by using a Minimum Volume on a Black, Colour or Scan meter.

Project.Meter.Job.Expire Date

If a prepaid meter generates a purchase of a prepaid block of pages, this macro evaluates to the date that the pages expire. It is based on the Next Bill Date at the time the prepaid block is purchased.

Project.Meter.Job.Expire Meter Read

For a prepaid meter, this evaluates to the meter read on the linked meter when any purchased pages will expire.

Project.Meter.Over Rate TF

The Overs Rate Ex as per the meter setup. This evaluates to nothing for non rate based meter types.

Project.Meter.Over Rate TP

The Overs Rate Inc as per the meter setup. This evaluates to nothing for non rate based meter types.

Project Meter.Job.Over Total

The dollar amount of the total overs charged.

Project.Meter.Minimum Volume

The minimum volume as per the meter setup.

Project.Meter.Job.Meter Read

The new count of the meter ignoring the effect of any estimates.

Project.Meter.Job.Effective Meter Read

The new count of the meter including any estimated amounts.

Project.Meter.Job.Estimated Meter Read

The new count of the meter if the read is an estimate. This evaluates to nothing for a real read.

Project.Meter.Job.Previous Job.Meter Read

This corresponds to the meter read value for the same meter on the previous job of the same type for the machine when ordered by Date Due.

Project.Meter.Job.Previous Job.Effective Meter Read

Meter read on previous machine job.

Project.Meter.Job.Previous Job.Estimated Meter Read

Estimated meter read on previous machine job.

Project.Meter.Job.Qty

The total quantity billed for the particular meter including standard, unders and overs billing, but excluding estimated amounts.

Project.Meter.Job.Estimated Qty

The total quantity billed for the particular meter including standard, unders and overs billing, only including estimated amounts.

Project.Meter.Job.Pages

The total quantity billed for the particular meter including standard, unders and overs billing, but excluding any estimated amounts. This evaluates to nothing for non rate based meters.

Project.Meter.Job.Effective Pages

The total quantity billed for the particular meter, regardless of whether it is an actual or estimated amount.

Project.Meter.Job.Standard Qty

The standard quantity billed for the meter

Project.Meter.Job.Under Qty

The under quantity billed for the meter.

Project.Meter.Job.Over Qty

The over quantity billed for the meter.

Project.Meter.Job.Purchases Prepaid Blocks

The number of prepaid blocks purchased.

Project.Meter.Job.Purchased Prepaid Pages

The total number of pages (blocks X block size) of prepaid pages purchased.

Project.Meter.Job.Previous Job.Prepaid Count

The number of prepaid pages available after the previous meter read.

Project.Meter.Job.Prepaid Count

The number of prepaid pages available after the current meter read.

Project.Meter.Prepaid Block Size

The Prepaid Bulk Pages as per the meter setup for a prepaid meter.

Project.Meter.Job.Bill Date

This is the Next Bill Date when a machine is being billed. Exactly the same as Project.Job.Bill Date. Kept separate for symmetry.

Project.Meter.Job,Date In

The date the meter read job was created. Exactly the same as Project.Job.Date In.

Project.Meter.Job.Date Due

The date the meter read job is due. Exactly the same as Project.Job.Date Due.

Project.Meter.Job.Read Date

When manually entering a read, this date corresponds to the Date field in the Billing Meter Read screen. When a meter read job is generated via an MPS feed, this date will contain a value if it is supplied as part of the feed. Exactly the same as Project.Job.Read Date.

Project.Meter.Job.Previous Job.Bill Date

The bill date of the job the last time this meter was billed. May be different to Project.Job.Previous Job.Bill Date if the meter is billed at a different periodicity to the machine.

Project.Meter.Job.Previous Job.Date In

The date in of the job the last time this meter was billed. May be different to Project.Job.Previous Job.Date In if the meter is billed at a different periodicity to the machine.

Project.Meter.Job.Previous Job.Date Due

The date due of the job the last time this meter was billed. May be different to Project.Job.Previous Job.Date Due if the meter is billed at a different periodicity to the machine.

Project.Meter.Job.Previous Job.Date Out

The date out (effectively the invoice date) the last time this meter was billed. May be different to Project.Job.Previous Job.Date Out if the meter is billed at a different periodicity to the machine.

Project.Meter.Job.Previous Job.Read Date

The read date the last time this meter was billed. May be different from Project.Job.Previous Job.Read Date if the meter is billed at a different periodicity to the machine.

Project.Meter.Job.Next Job.Bill Date

The Next Bill date the next time this meter is due to be billed. This is calculated using the current Date due, and either the periodicity of the meter or the periodicity of the machine.

 

There are also a corresponding set of macros for a linked meter, if available. They can be formed by adding Linked Meter after the Meter part of the macro, ie. Project.Meter.Linked Meter.Counter Name. There is also some special handling of macros when they are for meter billing kits.

 

Meter Kit Macro Handling

Macro

Description

Project.Meter.Rate TF

The sum of all Rate Ex for included stock where the stock relates to a Rate Based meter type, and it is not a third party PO meter.

Project.Meter.Rate TP

The sum of all Rate Inc for included stock where the stock relates to a Rate Based meter type, and it is not a third party PO meter.

Project.Meter.Base TF

The sum of all Rate Ex for included stock where the stock relates to a Base Charge meter type.

Project.Meter.Base TP

The sum of all Rate Inc for included stock where the stock relates to a Base Charge meter type.

Project.Meter.Min TF

The sum of all Rate Ex for included stock where the stock relates to a Min Charge meter type.

Project.Meter.Min TP

The sum of all Rate Inc for included stock where the stock relates to a Min Charge meter type.

 

Date Macros

Each date has a corresponding set of sub macros attached to it. The first two are each dates. They are:

Previous Month

Next Month

 

For each individual date macro (including Previous and Next Month) there are the following sub macros:

Day

Month

Year

LongDateFormat

 

For example, if the machine's Bill Date was 30th May 2017, the following macros would evaluate:

 

Project.Job.Bill Date

30/05/2019

Project.Job.Bill Date.Previous Month

30/04/2019

Project.Job.Bill Date.Month

May

Project.Job.Bill Date.Next Month.LongDateFormat

Sunday, 30th June, 2019

Project.Job.Bill Date.Next Month.Month

June

 

Suggested Macros

All of the above macros can be used in any combination to suit your specific needs. As a starting point, you may consider the following macros as this works nicely with estimates, and the clawing back of estimates.

 

The suggested macro for PO stock is very similar, except that it includes the additional information about the client (which would be redundant for meter billing stock) and serial number.

 

The Suggested Macro to Use For Billing Stock is:

{{Project.Meter.Counter Name}}{{"Last Read="Project.Meter.Job.Previous Job.Meter Read" "}}{{"Last Estimated Read="Project.Meter.Job.Previous Job.Estimated Meter Read" "}}{{Project.Meter.Job.Previous Job.Date Due}}{{"Current Read="Project.Meter.Job.Meter Read" "}}{{"Estimated Read="Project.Meter.Job.Estimated Meter Read" "}}{{"Prints="Project.Meter.Job.Qty" "}}{{"Estimated Prints="Project.Meter.Job.Estimated Qty" "}}

 

 

For example, below image shows the stock description using only the macros that are fired:

 

mps stock description

 

In this case macros fired are:

{{Project.Meter.Counter Name}}{{"Last Read="Project.Meter.Job.Previous Job.Meter Read" "}} – Black Last Read=12,000

{{Project.Meter.Job.Previous Job.Date Due}} – 15/03/2019

{{"Current Read="Project.Meter.Job.Meter Read" "}} – Current Read = 16,000

{{"Prints="Project.Meter.Job.Qty" "}} – Prints=4,000

 

For 3rd Party POs the Suggested Macro is:

{{Project.Card.Name}}{{"Serial No="Project.Serial #" "}}{{Project.Meter.Counter Name}}{{"Last Read="Project.Meter.Job.Previous Job.Meter Read" "}}{{"Last Estimated Read="Project.Meter.Job.Previous Job.Estimated Meter Read" "}}{{Project.Meter.Job.Previous Job.Date Due}}{{"Current Read="Project.Meter.Job.Meter Read" "}}{{"Estimated Read="Project.Meter.Job.Estimated Meter Read" "}}{{"Prints="Project.Meter.Job.Qty" "}}{{"Estimated Prints="Project.Meter.Job.Estimated Qty" "}}

 

For Service Reads:

{{Project.Meter.Counter Name}}{{"Current Read="Project.Meter.Job.Meter Read" "}}{{Project.Meter.Job.Read Date}}

 

Further information: