Contour Contour Tutor Portal docs Open the portal

For Academic Ops

Exports & corrections

Two things land with you from the portal: the fortnightly reconciliation reports that pay is checked against, and the corrections raised when the roster names the wrong tutor. The consult and text-support roster has its own page, Roster.

The fortnightly exports

Two Excel reports per pay fortnight, built by the app and emailed on their own. Nobody has to remember to run them.

ReportSentCovers
InterimThe second Wednesday of the fortnightDay 1 to day 10: Monday of the first week through that Wednesday. Early enough that a scheduling problem can still be corrected before the period closes.
FinalThe closing SundayThe whole fortnight, 14 days.
When on the dayOnce the day's last class has ended plus 20 minutes, so the last rolls of the period are in. On a day with no classes, at 8pm. Melbourne time, from the ten-minute sweep.
Where they goA configured Academic Ops address list, held as a server-side setting. Changing it needs no code change. Only admins see it, on the Health tab.
Sent throughSendGrid. The subject reads Interim attendance reconciliation — from to to, and the file is Attendance_Reconciliation_Interim_date.xlsx.
DepartmentsEducation and TestPrep are in. MedPrep is excluded.
Repeats and retriesEach report is sent once per period; a re-run of the same window will not double-send, and every attempt is recorded. A failed send is tried again every 30 minutes on the same day, up to five attempts in all. After midnight it is not retried: if a report hasn't arrived, download that period from Health and send it by hand.

Both are built from the same classes the Reporting page uses, so the two cannot disagree, and the window always starts at the fortnight's first Monday.

What's in them

One row per class, 42 columns, enough to answer a pay query without opening the app:

Why counts include marks made outside the app

Many classes are still marked on the Monday board. A report of only the app's own submissions would say nobody taught anything, so the counts read from both.

Running one by hand

Admin › Health, under Run now, has three:

Send interim reconciliationBuilds and emails day 1 to 10 of the pay fortnight that is current right now.
Send final reconciliationThe same for the whole current fortnight.
Download a reconciliationAny of the last 12 pay fortnights, Whole fortnight or Day 1 to day 10, as a spreadsheet. Nothing is emailed and nothing is marked as sent, so it never gets in the way of the automatic send.

The two send buttons work out the window from the fortnight, so you cannot build a report over the wrong dates, and they share the automatic send's record: Already sent for this period · nothing was sent again. They read No recipient configured and refuse to run if the Academic Ops address has not been set. To resend a past period, download it and send the file.

Don't send early

A send before the period's closing day counts as that period's report. It carries only the classes so far, and the complete automatic one is then skipped. To look at a period early, use Download.

Roster corrections

This is separate from attendance reconciliation, on purpose. They are different problems with different owners.

Attendance mismatch

The tutor's counts disagree with the campus count. The tutor or Campus fixes it by looking again. Nothing for you to do.

Roster discrepancy

Everyone agrees who taught, and it is not who the roster says. The tutor cannot fix this. It is a roster or Rippling correction, and it is yours.

These used to arrive in one list, which is why roster errors never got actioned: they landed in a queue whose owner had no power to fix them.

How one is raised

  1. A tutor submits and names someone other than the rosterRecorded in the same transaction as the roll, so a correction can never point at a submission that was rolled back.
  2. The campus count arrivesWhether Campus named the same person is what separates "the roster is wrong" from "two people disagree".
  3. The app sets a statusSee the table below.
  4. It is ticketed, then updatedA ticket is raised in the helpdesk's Academic Ops inbox, category Roster Discrepancies, as soon as the tutor's roll disagrees with the roster, with the class, the date, the rostered tutor and the claimed tutor. When Campus counts, the ticket gets a note saying whether it is confirmed or disputed. A discrepancy that is already confirmed before any ticket goes out is offered to Autofix first, and ticketed only if Autofix can't make the change.
StatusMeaningAction
Awaiting CampusThe tutor has said someone else taught. No campus count yet. A medium-priority ticket is already open.Nothing to change until Campus counts.
Confirmed
Reporting: Roster is wrong
Campus independently named the same primary tutor. The roster is the odd one out. High priority.Correct the roster. Actionable without further investigation.
Disputed
Reporting: Three-way disagreement
Campus named someone different again. Three answers, no agreement.Find out who actually taught before changing anything.
CorrectedThe roster has been fixed.Nothing.

When a status changes, a follow-up note is added to the existing ticket rather than a second ticket being opened. One class, one ticket.

Autofix

Where autofix is switched on, a confirmed discrepancy does not wait for a person. When the tutor's roll and Campus independently name the same people, the app corrects that week's tutor on the Monday Class Schedule board itself, and only raises a ticket for what it cannot do safely: the two sides did not line up, the tutor has no Monday account, or someone unexpected is already in the cell.

The same discrepancies appear on Reporting, in a permanent table and a Live one that drops a row once the roster is corrected, and in the Team Leaders' Marking & rostering worklist with the pay risk each one carries.

Built and maintained by YattaRewritten for the Tutor Portal · 25 Sep 2026 · v3.0 · Written for the Tutor Portal at tutor.contour.com.au.