Regulation for the digital age

We transform regulation into machine-readable rules,

We can help you transform your business using digital compliance technology.

1 Pay As You Go (PAYG) Instalment variation calculation ruleset
1.1 Varied amount payable for the quarter
The varied amount payable for the quarter is calculated as:
1. the estimated tax for the year
2. multiplied by the year-to-date fraction
3. less the year-to-date instalment adjustment
1.1.1 Year-to-date fraction
The year-to-date fraction is the proportion of the income year completed by the end of the relevant quarter (Q1 = 0.25, Q2 = 0.5, Q3 = 0.75, Q4 = 1).
1.1.2 Year-to-date instalment adjustment
The year-to-date instalment adjustment is calculated as:
1. sum of instalments reported to date in the income year
2. less the sum of instalment variation credits reported to date in the income year
1.2 New varied rate
1. estimated tax for the year
2. divided by PAYG instalment income
3. multiplied by 100
1.2.1 PAYG instalment income
The income is always one of the following:
1. EBITDA-based income for the quarter
2. Ordinary income earned from business and investment activities for the quarter(excluding GST)
1.2.1.1 EBITDA-based income
The EBITDA-based estimate is calculated as:
1. Profit or loss before interest, tax, depreciation, and amortisation (EBITDA) amount
2. Plus non-deductible expenses
3. Less:
a. any income with tax already removed
b. any tax offsets
c. any net capital gains
d. any SB depreciation & capital works deduction amounts
e. any chosen unused prior year loss amount (if it exceeds exempt income) and/or prior BAS period
1.3 Estimated tax for the year
The estimated tax for the year is the greater of following:
1. Estimated annual net tax payable less estimated tax credits
2. Zero
1.3.1 Estimated annual net tax payable
3. Estimated taxable income
4. Multiplied by applicable tax rate
5. Less non-refundable tax offsets2
1.3.1.1 Applicable tax rate
The applicable tax rate for the purposes of the PoC is the base rate entity rate (currently 25%)
1.3.2 Tax Credits
Tax credits are applied after calculation of net tax
1 Pay As You Go (PAYG) Instalment variation calculation ruleset
For eachPAYGI variation requestinvariationRequests
1.3 Estimated Tax for the year
Set valueforPAYGI variation request.baseEntityRate
to0.25
Set valueforPAYGI variation request.estimatedAnnualNetTaxPayable
to(PAYGI variation request.estimatedTaxableIncome times PAYGI variation request.baseEntityRate) minus PAYGI variation request.nonRefundableTaxOffsets
Set valueforPAYGI variation request.estimatedTaxForYear
toPAYGI variation request.estimatedAnnualNetTaxPayable minus PAYGI variation request.estimatedTaxCredits
If PAYGI variation request.estimatedTaxForYear is less than 0
then
Set valueforPAYGI variation request.estimatedTaxForYear
to0
Estimate instalment income
Set valueforPAYGI variation request.income.instalmentIncome
to0
Set valueforPAYGI variation request.income.eBITDABasedIncome.calculatedIncomeEstimate
to(PAYGI variation request.income.eBITDABasedIncome.profit plus PAYGI variation request.income.eBITDABasedIncome.nonDeductableExpenses) minus PAYGI variation request.income.eBITDABasedIncome.incomeWithTaxRemoved minus PAYGI variation request.income.eBITDABasedIncome.taxOffsets minus PAYGI variation request.income.eBITDABasedIncome.netCapitalGains minus PAYGI variation request.income.eBITDABasedIncome.sBDepreciationAndCapitalWorks minus PAYGI variation request.income.eBITDABasedIncome.unusedPriorYearLoss
Ifall of the following are true:
  • PAYGI variation request.income.eBITDABasedIncome.calculatedIncomeEstimate exists
  • PAYGI variation request.income.eBITDABasedIncome.calculatedIncomeEstimate is greater than 0
then
Set valueforPAYGI variation request.income.instalmentIncome
toPAYGI variation request.income.eBITDABasedIncome.calculatedIncomeEstimate
Ifany of the following are true:
  • PAYGI variation request.income.instalmentIncome does not exist
  • PAYGI variation request.income.instalmentIncome equals 0
then
Set valueforPAYGI variation request.income.instalmentIncome
toPAYGI variation request.income.ordinaryIncome
Set modality for PAYGI variation request.income.instalmentIncome exists
toobligated
1.1 Vary amount payable for the quarter
IfPAYGI variation request.variationMethod equals "Amount payable"
then
Set valueforPAYGI variation request.yearToDateFraction
to PAYGI variation request.quarter times 0.25
Set valueforPAYGI variation request.yearToDateInstallmentAdjustment
toPAYGI variation request.instalmentsReportedToDate minus PAYGI variation request.instalmentVariationCreditsToDate
Set valueforPAYGI variation request.variedAmountPayable
to(PAYGI variation request.estimatedTaxForYear times PAYGI variation request.yearToDateFraction) minus PAYGI variation request.yearToDateInstallmentAdjustment
1.2 New varied rate
Ifall of the following are true:
  • PAYGI variation request.variationMethod equals "Rate"
  • PAYGI variation request.income.instalmentIncome is greater than 0
then
Set valueforPAYGI variation request.newVariedRate
to(PAYGI variation request.estimatedTaxForYear divided by PAYGI variation request.income.instalmentIncome) times 100
2.4 Premises and equipment
Land based establishments that are freezing product must have freezing equipment with sufficient capacity to lower the temperature rapidly so as to achieve a core temperature of not warmer than -18 C and storage holds able to maintain this product core temperature.
Vessels that are freezing product must have freezing equipment with sufficient capacity to lower the temperature rapidly so as to achieve a core temperature of not warmer than -18 C and storage holds able to maintain this product core temperature.
2.4 Premises and equipment
For eachRequest to exportin Regsoft.exportRequests
For eachConsignmentinRequest to export.consignments
For eachPremesisinConsignment.premeses
IfPremesis.isFreezingProduct
then
Set modality for Premesis.freezingCoreTemperature is greater than -18
toforbidden
Set modality for Premesis.coreTemperatureInStorage is greater than -18
toforbidden
3.5 Labelling
Annex II of regulation (EC) 853/2004 requires that all product in the EU supply chain has an identification mark applied when packaged product leaves the establishment at which it is packaged. This requirement is met by labelling that identifies the product as of Australian origin by including the word 'Australia' or 'AU' and the export establishment number allocated to the establishment by the department.
Shelf-life and freezing
Refer to Annex X of Regulation (EU) No 1169/2011 of the European Parliament and of the Council of 25 October 2011 for requirements for durability date markings and requirement to label frozen fishery products with the initial date of freezing.
Snake Mackerel, Escolar and Oilfish
Snake Mackerel (Gempylus serpens), Escolar (Lepidocybium flavobrunneum) and Oilfish (Ruvettus pretiosus) must be labelled with both the scientific and Australian Fish Names (AS 5300) of the fish and must provide information on consumer preparation and a warning about presence of substances that may have a gastrointestinal effect. Commission Regulation (EC) No 1020/2008 amending Annexes II and III to Regulation (EC) No 853/2004).
Live Bivalve molluscs: Identification Marking
The label, including the identification mark, must be waterproof. The following information must be present on the label:
the species of bivalve mollusc (common name and scientific name); and
the date of packaging, comprising at least the day and the month.
the date of minimum durability may be replaced by the entry "these animals must be alive when sold".
3.5 Labelling
For eachRequest to exportinRegsoft.exportRequests
IfRequest to export.destination equals "EU"
then
For eachConsignmentinRequest to export.consignments
IfConsignment.isForHumanConsumption
then
IfConsignment.isFishProduct
then
Set valueforConsignment.label.displaysAustralianFishName
toConsignment.label.australianFishName exists
Set valueforConsignment.label.displaysScientificName
toConsignment.label.scientificName exists
Snake Mackerl, Escolar and Oilfish
IfConsignment.isSnakeMackerel
then
Set modality for Consignment.label.australianFishName equals "Snake Mackerel"
toobligated
Set modality for Consignment.label.scientificName equals "Gempylus Serpens"
toobligated
Set modality for Consignment.label.hasWarningAboutGastrointestinalEffects
toobligated
IfConsignment.isEscolar
then
Set modality for Consignment.label.australianFishName equals "Escolar"
toobligated
Set modality for Consignment.label.scientificName equals "Lepidocybium Flavobrunneum"
toobligated
Set modality for Consignment.label.hasWarningAboutGastrointestinalEffects
toobligated
IfConsignment.isOilfish
then
Set modalityfor Consignment.label.australianFishName equals "Oilfish"
toobligated
Set modality for Consignment.label.scientificName equals "Ruvettus Pretiousus"
toobligated
Set modality for Consignment.label.hasWarningAboutGastrointestinalEffects
toobligated
Live Bivalve molluscs: Identification marking
Ifall of the following are true:
  • Consignment.isBivalve
  • Consignment.isAlive
then
Set modality for Consignment.label.displaysAustralianFishName
toobligated
Set modality for Consignment.label.displaysScientificName
toobligated
Set modality for Consignment.label.hasIdentificationMark
toobligated
Set modality for Consignment.label.displaysDateOfPackaging
toobligated
IfConsignment.isCompositeProduct
then
Set modality for Consignment.sourcedFromEUListedEstablishment
toobligated
4C Meaning of shelf-stable
Goods are shelf-stable if:
(a) the goods have been commercially manufactured; and
(b) the goods have been packaged by the manufacturer; and
(c) the goods are in that package; and
(d) the package has not been opened or broken; and
(e) the goods are able to be stored in the package at room or ambient temperature; and
(f) the goods do not require refrigeration or freezing before the package is opened.
4C Meaning of shelf-stable
For eachImported foodinRegsoft.foodImports
Ifall of the following are true:
  • Imported food.isCommerciallyManufactured
  • Imported food.isPackagedByManufacturer
  • Imported food.isInOriginalPackage
  • Imported food.isPackagingIntact
  • Imported food.canBeStoredAtRoomTemperature
  • Imported food.requiresRefrigerationOrFreezingBeforeOpening
then
Set valueforImported food.isShelfStable
totrue
6.2.4 Fencing
Some fences MAY be EXEMPT or Complying Development. See State Environmental Planning Policy (Exempt and Complying Codes) 2008 ('Code SEPP') for more details. Otherwise, a development application is required.
As fences must not be placed on neighbouring land or public road reserves Council may require a Survey Plan to identify the boundary or verification by a registered Surveyor of the location of the fence in relation to a boundary.
Objective(s)
Fencing is located and designed:
O1. To be consistent with the existing (or desired future) character of the relevant land use zone and street, taking into account the prevailing fence types, solidity, and heights in the locality;
O2. If it is on, or in proximity to, a heritage item or in a heritage conservation area, to address any additional relevant requirements in DCP Chapter 4 Heritage & Cultural Conservation;
O3. To meet the security and privacy needs of a development whilst avoiding fencing that dominates the street or impacts significantly on casual surveillance to/from the street from building(s) on the lot;
O4. To ensure fencing provides adequate sight-lines for vehicle and pedestrian safety. Acceptable & unacceptable fence designs (Source: Complete Concepts + Planning).
Control(s)
1) Application: All applications where new or altered fencing is proposed (that is not exempt development) provide details of fencing location, height and materials including Site Plan(s) and relevant Elevation(s).
2) Code SEPP: All fencing complies with the requirements of the Codes SEPP and addresses any potential impact(s). Where a variation is sought then the proposed fencing must address DCP Section 1.6 Variations to DCP Controls including the objectives of this Section.
3) Solid Metal Fencing: Metal (solid) fencing (e.g., Colorbond) is not to be installed in the following locations:
a) Fences fronting any street (other than a rear lane where metal fencing already is present);
b) Fences fronting a public open space or recreation area (unless it is setback and screened by significant landscaping); and
c) On heritage items and in heritage conservation areas (unless permitted by the Codes SEPP).
4) Sight Distances: Fencing preserves safe sight distances for all vehicle entry and exit locations, including those on adjoining properties, especially on corner lots.
5) Reflectivity: If fencing is constructed of metal panels it is of low reflectivity, factory pre-coloured materials or galvanised iron.
6) Surface Water: Fencing does not redirect the flow of surface stormwater or floodwaters onto an adjoining property.
7) Flood Prone Land: If the land is affected by flood related development controls (see DCP Chapter 3 Natural Environment & Hazards) the fence types are designed to allow flood conveyance and prevent additional flooding on adjacent properties.
8) Landscaping: Long fenced areas fronting public streets or internal driveways are softened with landscaping by setting back parts or all of the fence-line to allow for planting on the subject lot so the fence is partially screened from the street.
6.2.4 Fencing
For eachDevelopment ApplicationinRegsoft.developmentApplications
IfDevelopment Application.includesNewOrAlteredFencing
then
For eachFencing sectioninDevelopment Application.fencing.sections
Ifany of the following are true:
  • all of the following are true:
    • Fencing section.facesAnyStreet
    • Fencing section.facesRearLane is false
  • Fencing section.frontsPublicOpenSpaceOrRecreationArea
  • Fencing section.onHeritageItemOrHeritageConservationArea
then
Set modality for Fencing section.isSolidMetal
toforbidden
Set modality for Fencing section.perservesSafeSightDistances
toobligated
IfFencing section.isConstructedOfMetalPanels
then
Set modality for all of the following are true:
  • Fencing section.isLowReflectivity
  • Fencing section.isCoatedWithFactoryPreColouredMaterials
  • Fencing section.isGalvanisedIron
toobligated
Set modality for Fencing section.redirectsFlowOfStormwaterOrFloodwaterToAjoiningParty
toforbidden
Ifall of the following are true:
  • Fencing section.isLongLength
  • any of the following are true:
    • Fencing section.facesAnyStreet
    • Fencing section.frontsInternalDriveway
then
Set modality for Fencing section.isSetback
toobligated
IfDevelopment Application.site.isAffectedByFloodRelatedDevelopmentControls
then
For eachFencing sectionsinDevelopment Application.fencing.sections
Set modality for all of the following are true:
  • Fencing section.designedToAllowFloodConveyancing
  • Fencing section.designedToPreventAdditionalFloodingOnAjacentProperties
toobligated
6.3.2 Access & Building Clustering
Dual occupancies and Secondary dwellings are permitted with consent in Zone RU1 Primary Production, Zone RU2 Rural Landscape, Zone E3 Environmental Management & Zone E4 Environmental Living.
Dual occupancies (by definition) must be located on the same lot (i.e., they cannot be on separate lots even if they are part of the same holding) or lots will be required to be consolidated.
Objective(s)
O1. Access driveways are limited to those essential for a single residential access as well as agricultural operations and shared for multiple users of the Site.
O2. Buildings, where possible, are clustered to minimise impacts on agriculture and share utilities and access.
Control(s)
Where there are multiple dwellings on a lot or holding, each dwelling, including a dual occupancy or secondary dwelling:
1) Utilises the same driveway access from a public road.
2) Is clustered within 250m of each other to minimise impacts on agricultural activities whilst still providing privacy.
Access & Building Clustering
For eachDevelopment ApplicationinRegsoft.developmentApplications
Ifany of the following are true:
  • Development Application.site.landZoning equals "RU1 - Primary Production"
  • Development Application.site.landZoning equals "RU2 - Rural Landscape"
  • Development Application.site.landZoning equals "E3 - Environmental Management"
  • Development Application.site.landZoning equals "E4 - Environmental Living"
  • Development Application.site.landZoning equals "R5 - Large Lot Residential"
then
IfDevelopment Application.dwelling.isDualOccupancy
then
Set modality for Development Application.dwelling.isContainedOnSingleLot
toobligated
Ifany of the following are true:
  • Development Application.site.containsMultipleDwellings
  • Development Application.dwelling.isDualOccupancy
then
Set modality for Development Application.site.allDwellingsUtiliseSameDrivewayToPublicRoad
toobligated
Set modality for Development Application.site.allDwellingsClusteredWithin250Metres
toobligated
8 Types of employment
8.1 An employee covered by this award must be one of the following:
(a) a full-time employee; or
(b) a part-time employee; or
(c) a casual employee
8.2 At the time of engaging an employee, the employer must inform the employee of the terms on which they are engaged, including whether they are engaged as a full-time, part-time or casual employee
8 Types of employment
IfRegsoft.hireNewEmployee
then
For eachPentential employeeinRegsoft.applicants
Set modality for any of the following are true:
  • Potential employee.engagment equals "Full-time"
  • Potential employee.engagment equals "Part-time"
  • Potential employee.engagment equals "Casual"
toobligated
10 Wildlife specimen licence
A wildlife specimen licence authorises the licence holder to buy, sell, acquire, receive, dispose of, keep, possess and display prepared or mounted specimens of any dead wildlife specified in the licence for non-commercial purposes.
10 Wildlife specimen licence
For eachWildlife Licence ApplicationinRegsoft.wildlifeApplications
Ifall of the following are true:
  • any of the following are true:
    • Wildlife Licence Application.buyWildlife
    • Wildlife Licence Application.sellWildlife
    • Wildlife Licence Application.aquireWildlife
    • Wildlife Licence Application.receiveWildlife
    • Wildlife Licence Application.disposeOfWildlife
    • Wildlife Licence Application.keepWildlife
    • Wildlife Licence Application.possessWildlife
    • Wildlife Licence Application.displayWildlife
    • Wildlife Licence Application.willHandleMountedSpecimens
  • Wildlife Licence Application.isForCommercialPurposes is false
then
Set valueforWildlife Licence Application.wildlifeSpecimenLicenceRequired
totrue
12 Wildlife controller licence
A wildlife controller licence authorises the licence holder to take from the wild and to destroy or dispose of, but not sell, wildlife that is damaging property or is a danger to persons if-
(a) the wildlife is a taxon of wildlife that is listed in Schedule 6 and specified in the licence; or
(b) if no taxon of wildlife is specified in the licence, the wildlife is listed in Schedule 6.
12 Wildlife controller licence
For eachWildlife Licence ApplicationinRegsoft.wildlifeApplications
Ifall of the following are true:
  • any of the following are true:
    • Wildlife Licence Application.takeFromTheWild
    • Wildlife Licence Application.destroyWildlife
    • Wildlife Licence Application.disposeOfWildlife
  • Wildlife Licence Application.sellWildlife is false
  • any of the following are true:
    • Wildlife Licence Application.wildlifeIsDamagingProperty
    • Wildlife Licence Application.wildlifeIsADangerToPersons
  • Wildlife Licence Application.wildlifeIsListedInScheduleSix
then
Set valueforWildlife Licence Application.wildlifeControllerLicenceIsRequired
totrue
15 Ordinary hours of work and rostering arrangements
15.1 Ordinary hours may be worked by an employee on the day specified in column 1 during the span of ordinary hours specified in column 2 of Table 2 Span of hours
15.8 Employees regularly working Sundays
(a) The employer must roster an employee who regularly works Sundays in such a way that they have 3 consecutive days off (including Saturday and Sunday) per 4 week cycle
(b) Clause 158(a) is subject to any agreement for different arrangements entered into by the employer and an individual employee at the written request of the employee
(c) Different arrangements agreed under clause 158(b) must be recorded in the time and wages record
(d) The employee may end an agreement under clause 158(b) by giving the employer 4 weeks' notice
(e) An employee cannot be required as a condition of employment to agree to an arrangement under clause 158(b)
15.9 Notification of rosters
(a) The employer must ensure that the work roster is available to all employees, either exhibited on a notice board which is conveniently located at or near the workplace or through accessible electronic means
(b) The roster must show for each employee:
(i) the number of ordinary hours to be worked by them each week; and
(ii) the days of the week on which they will work; and
(iii) the times at which they start and finish work
(c) The employer must retain a copy of each completed work roster for at least 12 months and produce it, on request, for inspection to an authorised person
(d) Due to unexpected operational requirements, the roster of an employee other than a part-time employee may be changed by mutual agreement by the employer and the employee at any time before the employee arrives for work
NOTE 1: Clause 106 deals with when the roster of a part-time employee may be changed by mutual agreement
NOTE 2: Clause 35 contains requirements to consult with employees about roster changes
(e) For employees other than part-time employees, the employer may make permanent roster changes at any time by giving the employee at least 7 days' written notice of the change If the employee disagrees with the change, the period of written notice of the change required to be given is extended to at least 14 days in total
NOTE: Clause 1010 deals with when the roster of a part-time employee may be changed by their employer
(f) The employer and employee may seek to resolve a dispute about a roster change in accordance with clause 36 Dispute resolution
(g) Clause 159(h) applies to an employee other than a part-time employee whose roster is changed in a particular week for a one-off event that does not constitute an emergency and then reverts to the previous roster in the following week
(h) The employer must pay the employee at the overtime rate specified in Table 10 Overtime rates for any extra time worked by the employee because of the roster change in clause 159(g)
(i) An employer must not change the roster of an employee with the intention of avoiding payment of shiftwork or penalty rates, loadings or other applicable benefits If the employer does so, the employee must be paid any shiftwork or penalty rates, loadings or benefits as if the roster had not been changed
NOTE: See clause 27 Rostering restrictions for the rosters of shiftworkers
15 Ordinary hours of work and rostering arrangements
For eachCompanyinRegsoft.companies
For eachEmployeeinEmployer.employees
For eachWork weekinEmployee.patternOfWork.workWeeks
For eachWork dayinWork week.days
Calculate start of ordinary hours
Set valueforWork day.calcStartOfOrdinaryHours
tocopy Work day.date and set hour to 7
IfWork day.calcIsSunday
then
Set valueforWork day.calcStartOfOrdinaryHours
tocopy Work day.date and set hour to 9
Calculate end of ordinary hours
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.date and set hour to 21
Ifall of the following are true:
  • Work day.calcIsSaturday
  • Work day.calcIsSunday
then
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.date and set hour to 18
Override ordinary hours for news agents and video shops
For eachShiftinWork day.shifts
IfShift.occursAtANewsAgency
then
Set valueforWork day.calcStartOfOrdinaryHours
tocopy Work day.calcStartOfOrdinaryHoursand set hour to 5
IfShift.occursAtAVideoShop
then
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.calcEndOfOrdinaryHours and set hour to 12
Alter end of ordinary hours for late-night trading hours
Monday - Friday
Ifany of the following are true:
  • all of the following are true:
    • Work day.calcDayOfWeek equals 1
    • Employer.tradingHours.monday.calcHoursExtendBeyond9pm
  • all of the following are true:
    • Work day.calcDayOfWeek equals 2
    • Employer.tradingHours.tuesday.calcHoursExtendBeyond9pm
  • all of the following are true:
    • Work day.calcDayOfWeek equals 3
    • Employer.tradingHours.wednesday.calcHoursExtendBeyond9pm
  • all of the following are true:
    • Work day.calcDayOfWeek equals 4
    • Employer.tradingHours.thursday.calcHoursExtendBeyond9pm
  • all of the following are true:
    • Work day.calcDayOfWeek equals 5
    • Employer.tradingHours.friday.calcHoursExtendBeyond9pm
then
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.date and set hour to 23
Saturday
Ifall of the following are true:
  • Work day.calcDayOfWeek equals 6
  • Employer.tradingHours.saturday.calcHoursExtendBeyond6pm
then
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.date and set hour to 23
Sunday
Ifall of the following are true:
  • Work day.calcDayOfWeek equals 7
  • Employer.tradingHours.saturday.calcHoursExtendBeyond6pm
then
Set valueforWork day.calcEndOfOrdinaryHours
tocopy Work day.date and set hour to 23
Bucket hours for agreed pattern of work
For eachEmployerinRegsoft.companies
For eachEmployeeinEmployer.employees
For eachWork weekinEmployee.patternOfWork.workWeeks
For eachWork dayinWork week.days
For eachShiftinWork day.shifts
Set valueforShift.calcConsecutiveHours
toGet duration in hours from (Shift.endTime minus Shift.startTime)
Calculate hours worked before start of ordinary hours
IfShift.startTime is less than Work day.calcStartOfOrdinaryHours
then
Set valueforShift.calcStartOfTempSpan
toShift.startTime
Set valueforShift.calcEndOfTempSpan
toShift.endTime
IfShift.endTime is greater than Work day.calcStartOfOrdinaryHours
then
Set valueforShift.calcEndOfTempSpan
toWork day.calcStartOfOrdinaryHours
Set valueforShift.calcPreOrdinaryHours
toGet duration in hours from (Shift.calcEndOfTempSpan minus Shift.calcStartOfTempSpan)
Calculate hours worked during ordinary hours
Ifall of the following are true:
  • Shift.startTime is less than Work day.calcEndOfOrdinaryHours
  • Shift.endTime is greater than Work day.calcStartOfOrdinaryHours
then
Set valueforShift.calcStartOfTempSpan
toShift.startTime
IfShift.startTime is less than Work day.calcStartOfOrdinaryHours
then
Set valueforShift.calcStartOfTempSpan
toWork day.calcStartOfOrdinaryHours
Set valueforShift.calcEndOfTempSpan
toShift.endTime
IfShift.endTime is greater than Work day.calcEndOfOrdinaryHours
then
Set valueforShift.calcEndOfTempSpan
toWork day.calcEndOfOrdinaryHours
Set valueforShift.calcOrdinaryHoursWorked
toGet duration in hours from (Shift.calcEndOfTempSpan minus Shift.calcStartOfTempSpan)
Calculate hours worked after end of ordinary hours
IfShift.endTime is greater than Work day.calcEndOfOrdinaryHours
then
Set valueforShift.calcStartOfTempSpan
toShift.startTime
Set valueforShift.calcEndOfTempSpan
toShift.endTime
If Shift.startTime is less than Work day.calcEndOfOrdinaryHours
then
Set valueforShift.calcStartOfTempSpan
toWork day.calcEndOfOrdinaryHours
Set valueforShift.calcPostOrdinaryHours
toGet duration in hours from (Shift.calcEndOfTempSpan minus Shift.calcStartOfTempSpan)
Add hours from this shift to the day's work hours
Add hours from this shift to the day's work hours
Set valueforShift.calcNonOrdinaryHoursWorked
toShift.calcPreOrdinaryHours plus Shift.calcPostOrdinaryHours
Set valueforWork day.calcOrdinaryHoursWorked
toWork day.calcOrdinaryHoursWorked plus Shift.calcOrdinaryHoursWorked
Set valueforWork day.calcNonOrdinaryHoursWorked
toWork day.calcNonOrdinaryHoursWorked plus Shift.calcNonOrdinaryHoursWorked
Set valueforShift.calcTotalHours
toShift.calcOrdinaryHoursWorked plus Shift.calcNonOrdinaryHoursWorked
Set valueforWork day.calcTotalHours
toWork day.calcTotalHours plus Shift.calcTotalHours
Calculate average hours per roster
For eachCompanyinRegsoft.companies
For eachEmployerinEmployer.employees
For eachWork weekinEmployee.patternOfWork.workWeeks
Set valueforEmployee.patternOfWork.calcTotalWorkWeeks
toEmployee.patternOfWork.calcTotalWorkWeeks plus 1
For eachWork dayinWork week.days
Set valueforEmployee.patternOfWork.calcTotalDays
toEmployee.patternOfWork.calcTotalDays plus 1
Roll up values from days to work week
Set valueforWork week.calcTotalOrdinaryHours
toWork week.calcTotalOrdinaryHours plus Work day.calcOrdinaryHoursWorked
Set valueforWork week.calcTotalNonOrdinaryHours
toWork week.calcTotalNonOrdinaryHours plus Work day.calcNonOrdinaryHoursWorked
Set valueforWork week.calcTotalHours
toWork week.calcTotalHours plus Work day.calcTotalHours
Roll up values from work week to pattern of work
Set valueforEmployee.patternOfWork.calcTotalNonOrdinaryHours
toEmployee.patternOfWork.calcTotalOrdinaryHours plus Work week.calcTotalNonOrdinaryHours
Set valueforEmployee.patternOfWork.calcTotalOrdinaryHours
toEmployee.patternOfWork.calcTotalOrdinaryHours plus Work week.calcTotalOrdinaryHours
Set valueforEmployee.patternOfWork.calcTotalHours
toEmployee.patternOfWork.calcTotalHours plus Work week.calcTotalHours
Validate average of 38 hours per week for full-time employees
IfEmployee.employmentType equals "Full-time"
then
IfEmployee.patternOfWork.calcTotalWorkWeeks equals 1
then
Set valueforEmployee.patternOfWork.calcAverageHoursMet
toEmployee.patternOfWork.calcTotalHours equals 38
IfEmployee.patternOfWork.calcTotalWorkWeeks equals 2
then
Set valueforEmployee.patternOfWork.calcAverageHoursMet
toEmployee.patternOfWork.calcTotalHours equals 76
IfEmployee.patternOfWork.calcTotalWorkWeeks equals 3
then
Set valueforEmployee.patternOfWork.calcAverageHoursMet
toEmployee.patternOfWork.calcTotalHours equals 114
IfEmployee.patternOfWork.calcTotalWorkWeeks equals 4
then
Set valueforEmployee.patternOfWork.calcAverageHoursMet
toEmployee.patternOfWork.calcTotalHours equals 152
Ifall of the following are true:
  • Employee.patternOfWork.calcTotalWorkWeeks is greater than 4
  • Employee.patternOfWork.periodOver4WeeksAgreedUpon
then
Set valueforEmployee.patternOfWork.calcAverageHoursMet
to(Employee.patternOfWork.calcTotalHours divided by Employee.patternOfWork.calcTotalWorkWeeks) equals 38
Set modality for Employee.patternOfWork.calcAverageHoursMet
toobligated
23 Certain persons not to be in vehicles etc
(1) If authorised Commonwealth explosives are being loaded onto, or unloaded from, a vehicle, a person who is not:
(a) the driver of the vehicle; or
(b) a person involved in loading or unloading the vehicle; or
(c) a member of a State or Territory fire brigade; or
(d) a police officer;
must not be in, on or in the vicinity of the vehicle without the consent of the person in charge of the vehicle.
Note 1: Penalties for a contravention of this regulation are set by section 20 of the Act.
Note 2: See the provisions of the AE Code about persons riding in vehicles that are carrying explosives.
23 Certain persons not to be in vehicles etc
For eachTransport explosivesinRegsoft.explosiveTransports
IfTransport explosives.isCommonwealthAuthorised
then
Ifany of the following are true:
  • Transport explosives.loadExplosivesOntoVehicle
  • Transport explosives.unloadExplosivesFromVehicle
then
For eachPerson in vicinity of vehivleinTransport explosives.personsInVicinityOfVehicle
Set modality for Person in vicinity of vehicle.beInVicinityOfVehicle
toforbidden
Ifany of the following are true:
  • Person in vicinity of vehicle.isDriverOfTheVehicle
  • Person in vicinity of vehicle.isInvolvedWithLoadingOrUnloadingOfTheVehicle
  • Person in vicinity of vehicle.isMemberOfStateOrTerritoryFireBrigade
  • Person in vicinity of vehicle.isPoliceOfficer
  • Person in vicinity of vehicle.hasConsentOfPersonInChargeOfVehicleToBeInVicinity
then
Set modality for Person in vicinity of vehicle.beInVicinityOfVehicle
topermitted
50 Exception artistic works and public interest expression
None of the following constitutes an e-cigarette advertisement:
(a) the performance, exhibition or distribution, in good faith, of an artistic work;
(b) a communication to the extent the communication is made for any genuine academic, educational or scientific purpose or any other genuine purpose in the public interest.
50 Exception artistic works and public interest expression
For eachDistributed mediainRegsoft.mediaDistributions
Set modality for Distributed media.depictsECigaretteUsage
toforbidden
IfDistributed media.depictsECigaretteUsage
then
Ifany of the following are true:
  • Distributed media.occursDuringPerformanceOfAnArtisticWork
  • Distributed media.occursDuringExhibitionOfAnArtisticWork
  • Distributed media.occursDuringTheDistributionOfAnArtisticWork
  • Distributed media.isDoneInGoodFaith
then
Set modality for Distributed media.depictsECigaretteUsage
topermitted
Ifany of the following are true:
  • Distributed media.isForGenuineScientificPurpose
  • Distributed media.isCommunicationForGenuineEducationalPurpose
  • Distributed media.isCommunicationForGenuineAcedemicPurpose
  • Distributed media.isGenuinelyInPublicInterest
then
Set modality for Distributed media.depictsECigaretteUsage
topermitted
61 Offence producing false or misleading information or documents
(1) A person commits an offence if:
(a) the person is served with a notice to produce; and
(b) the person gives information or a document as required by the notice; and
(c) the person does so knowing that the information or document:
(i) is false or misleading; or
(ii) omits any matter or thing without which the information or document is misleading.
Penalty: Imprisonment for 5 years.
(2) Subsection (1) does not apply if the information or document is not false or misleading in a material particular.
Note: A defendant bears an evidential burden in relation to the matter in this subsection: see subsection 13.3(3) of the Criminal Code .
61 Offence producing false or misleading information or documents
For eachServed personinRegsoft.personsServedWithNoticeToProduce
IfServed person.providesInformationOrDocumentAsRequiredByTheNotice
then
Set modality for Served person.knowsThatInformationOrDocumentIsFalse
toforbidden
IfServed person.informationOrDocumentIsFalseInAMaterialParticular is false
then
Set modality for Served person.knowsThatInformationOrDocumentIsFalse
topermitted
Set modality for Served person.knowsThatTheInformationOrDocumentIsMisleading
toforbidden
IfServed person.informationOrDocumentIsMisleadingInAMaterialParticularis false
then
Set modality for Served person.knowsThatTheInformationOrDocumentIsMisleading
topermitted
Set modality for all of the following are true:
  • Served person.omitMatterOrThing
  • Served person.abscenseOfMatterOrThingRendersDocumentFalse
toforbidden
IfServed person.informationOrDocumentIsFalseInAMaterialParticular is false
then
Set modality for all of the following are true:
  • Served person.omitMatterOrThing
  • Served person.abscenseOfMatterOrThingRendersDocumentFalse
topermitted
Set modality for all of the following are true:
  • Served person.omitMatterOrThing
  • Served person.absenceOfMatterOrThingRendersInformationOrDocumentMisleading
toforbidden
IfServed person.informationOrDocumentIsMisleadingInAMaterialParticular is false
then
Set modality for all of the following are true:
  • Served person.omitMatterOrThing
  • Served person.absenceOfMatterOrThingRendersInformationOrDocumentMisleading
topermitted

Platform features

Machine-readable rules

How we encode regulations to drive compliance

Click here for more information

Robust data definitions

Our rules use well-defined data types to clearly communicate the format of data required

Click here for more information

Trustworthy rulesets

We provide a compelling answer to the question, ‘how can we trust the rules?’

Click here for more information

Articles

What is an Ontology?

The philosophical study of being?

Click here for more information

What is needed for digital regulation to succeed?

How can we ensure that an implementation is successful?

Click here for more information

Compliance-driven software

Our unique approach to building software, and how we evolved to this approach

Click here for more information