SymbifoxUser guide Français

Part 3 · Projects, time and knowledge

Hour bank

Sell prepaid blocks of hours, track their use through timesheets, get alerted before they run out, and show the balance to the client.

Symbifox 18.0 (September 2026 catalogue) · Modules: Hour banks · Revised 2026-09-12

The Banque d'heures (hour bank) application keeps count of hour packages sold in advance. It is for people who manage recurring mandates and bill in blocks rather than monthly: a client buys ten, twenty or forty hours, the team uses them, and the balance calculates itself. The concrete result is an accurate balance at all times, a report ready to send, and an alert before the package runs dry. The client, for their part, checks their remaining hours in their client portal, without writing to anyone.

Overview#

An hour bank is one record per client, not an accounting account. It says which projects draw on the package, which invoices top it up, and what the balance is right now.

The calculation fits in one sentence: the balance is the sum of credits and adjustments, minus the sum of debits.

Movement Where it comes from
Debit Each timesheet line entered on one of the included projects.
Credit Each posted customer invoice line, filtered by company, by billing partner and by product.
Adjustment A manual entry, positive or negative, for what the other two miss: a goodwill credit, a correction, a discount.

The home screen is the list of banks, one per client, with their balance.

List of Boréal's hour banks, one line per client with the balance in hours, the Auto box and the date of the last report
The hour banks

Boréal keeps three, for Clinique dentaire Rosemont, Métallurgie Beauce-Sud and Papeterie Trois-Rivières. All three show 0.00 hours: the records exist, but no project is linked to them yet, so nothing is being used.

The application depends on two others: debits come from Timesheets, credits from Invoicing. It changes neither: it only reads them.

Configuration#

Access and permissions#

This application has no access level of its own. It uses the Project level, on the line of the same name in the user form.

Level What it opens
Project, User View the hour banks and their balance.
Project, Administrator Create and edit banks, enter adjustments, produce and send reports, set up alert thresholds.
Portal A client sees their own bank in their client portal, and nothing else.

The client is recognized by their commercial contact: a person linked to a company sees that company's bank.

Settings#

There is no general configuration screen. Everything is set on each bank, in the five tabs of its form. Two background tasks run on their own; the reference describes them.

Form of an hour bank with its buttons and the Projets, Facturation, Ajustements, Destinataires and Paliers tabs
An hour bank
Tab What you set there
Projets (projects) The projects whose hours draw on the package. Without a project, the balance stays at zero.
Facturation (invoicing) What counts as a credit: company filter, billing partners, product filter, invoices added by hand.
Ajustements (adjustments) Manual entries, plus or minus.
Destinataires (recipients) The people who receive the report, and how often it is sent automatically.
Paliers (thresholds) The thresholds that trigger an alert, and who it goes to.

Base data#

Before creating a bank, gather:

  • the client's contact, with their email address;
  • the mandate's projects, which accept hours (see Project);
  • the product or products used to bill blocks of hours, if you plan to filter credits by product;
  • the people the report and the alerts must go to.

Getting started#

This walkthrough opens a bank for a Boréal client and produces a first report from it.

  1. Open Banque d'heuresClients. Boréal's three banks are displayed.
  2. Select New, then choose Métallurgie Beauce-Sud in Client.
  3. In the Projets tab, add this client's managed services mandate.
  4. In the Destinataires tab, add the person at the client who receives the report.
  5. Select Save. The Solde (h) (balance, in hours) shortcut button at the top of the form immediately shows the calculated balance.
  6. Select Générer PDF (generate PDF).

Result: a report downloads, in Boréal's colours, with the detail of movements from newest to oldest, the summary by project and the monthly overview. The balance at the top of the document is the one on the shortcut button.

Common tasks#

Create an hour bank for a client#

One bank per client is enough, even if the client has several mandates: the included projects define what gets used.

  1. Go to Banque d'heuresClients.
  2. Select New.
  3. Choose the Client.
  4. In the Projets tab, add the projects whose hours draw on the package.
  5. In the Destinataires tab, add the people who will receive the report.
  6. Select Save.

Result: the bank appears in the list with its balance. Until a project is linked, the balance stays at 0.00 hours, as on the three demo records.

Choose the invoices that top up the package#

By default, all the client's posted invoices credit the bank. Three filters, independent of each other, narrow this count.

  1. Open the bank and go to the Facturation tab.
  2. In Filtre sociétés (company filter), keep all companies, or choose the ones to include, or the ones to exclude.
  3. In Partenaires de facturation (billing partners), name the contacts invoices are issued to, if they are not issued to the commercial contact.
  4. In Filtre produits (product filter), keep all lines, or limit the credit to hour block products, or exclude certain products.
  5. In Factures additionnelles (additional invoices), add by hand an invoice that no filter catches.
  6. Select Save.

Result: the balance recalculates at once. The report now shows only the invoices kept, each with its number and its hours.

Add a manual adjustment#

An adjustment corrects what neither the hours nor the invoices say: a goodwill credit, an old entry error, a transfer between mandates.

  1. Open the bank and go to the Ajustements tab.
  2. Select Add a line.
  3. Enter the Date.
  4. Enter the Heures (hours): a positive value credits, a negative value debits.
  5. Enter the Description, which will appear as is in the report and on the portal.
  6. Select Save.

Result: the balance moves by the amount entered. The line takes its place in the report detail, with the adjustment label in place of the project.

Produce a bank's report#

Two formats come out of the same calculation: a document to send and a workbook to analyze.

  1. Open the bank.
  2. Select Générer PDF for the document.
  3. Or select Générer Excel (generate Excel) for the workbook.

Result: the file downloads. The document shows the detail of movements from newest to oldest, with credits in green, then the summary by project and the monthly overview. The workbook has four sheets: timesheets, summary by project, monthly overview and what remains to be invoiced.

Send the report by email#

Sending assembles the document, the workbook and an email in the company's colours, in a single action.

  1. Open the bank and select Envoyer rapport (send report). The dialog opens with the recipients already filled in.
  2. Add or remove Destinataires.
  3. Adjust the Sujet (subject) and the Corps du message (message body).
  4. Optional: select Prévisualiser PDF (preview PDF) to reread the document before sending.
  5. Select Envoyer (send).

Result: the email goes out with the document and the workbook attached, and the Dernier rapport (last report) date updates on the record. The sending is logged in the bank's chatter, the message thread at the bottom of the form.

Schedule automatic sending#

When the rhythm is steady, sending happens on its own and you no longer have to think about it.

  1. Open the bank and go to the Destinataires tab.
  2. Check that the recipients are the right ones.
  3. Check Envoi automatique (automatic sending).
  4. Choose the Fréquence d'envoi (sending frequency): weekly, every two weeks or monthly.
  5. Select Save.

Result: the Auto column is checked in the list of banks. Sending goes out on Monday for the weekly rhythm, every other Monday for the two-week rhythm, and on the first day of the month for the monthly rhythm.

Set a threshold alert#

The alert warns you before the package runs dry, so the top-up arrives in time. Three modes exist, and they are mutually exclusive.

  1. Open the bank and go to the Paliers tab.
  2. In Mode de palier (threshold mode), choose Heures non facturées (unbilled hours), % du budget alloué (percentage of allocated budget) or Solde résiduel sous seuil (remaining balance below threshold).
  3. For the percentage mode, enter the Budget alloué (h) (allocated budget, in hours).
  4. In Paliers à surveiller (thresholds to watch), add one line per threshold, with its value and its Libellé (label).
  5. Optional: name Destinataires des alertes (alert recipients) other than the report's.
  6. Leave Notifier les followers internes (notify internal followers) checked so the team is notified too.
  7. Select Save, then Vérifier les paliers maintenant (check thresholds now).

Result: a message tells you how many thresholds just triggered. Each trigger sends an email with the workbook attached and leaves a trace in the history.

Review alerts already sent#

The history says what was sent, when, to whom and on which measure.

  1. Open the bank.
  2. Select the Alertes envoyées (alerts sent) shortcut button at the top of the form.
  3. Open a line to see the mode, the threshold value, the measured value, the recipients and the attached workbook.

Result: the list of sendings, which you can filter by mode and by bank. Nothing can be changed there: it is a trace, not a draft.

Let the client track their balance#

The client has nothing to ask for: their balance is in their client portal, with the detail and both files.

  1. Make sure the client's contact has portal access (see Contacts).
  2. Ask them to open their client portal.
  3. They select the Banque d'heures card, then their bank.

Result: they see the balance, the table of movements and the summary by project, and they download the document or the workbook themselves. They see only their own company's bank.

The menus, one by one#

Banque d'heures: a grouping menu, which carries the application's name and opens no screen.

Banque d'heuresClients: the list of banks, one per client, with the columns Client, Solde (h), Auto and Dernier rapport. Boréal has three. The search filters on the client and separates active records from archived ones. This is the application's home screen, shown in the Overview; a bank's form opens when you select its line.

The alert history has no menu entry: you reach it through the Alertes envoyées shortcut button on a bank's form.

Reference#

Fields of the hour bank form#

Field Description Required or default
Nom (name) The record's title. Empty; the client's name then identifies it
Client The client whose package is tracked. Required
Projets inclus (included projects) The projects whose hours draw on the package. Empty; without a project, no debit
Filtre sociétés, Sociétés (companies) Restricts crediting invoices to certain companies, or excludes them. All companies
Partenaires de facturation The contacts invoices are issued to, if not the commercial contact. Empty
Filtre produits, Produits (products) Restricts the credit to certain invoice lines, or excludes them. All lines
Factures additionnelles Invoices added by hand to the credit calculation. Empty
Ajustements manuels (manual adjustments) Positive or negative entries outside hours and invoices. Empty
Destinataires du rapport (report recipients) The people who receive the periodic report. Empty
Envoi automatique Turns on periodic sending of the report. Cleared
Fréquence d'envoi Weekly, every two weeks or monthly. Weekly
Solde actuel (current balance) The calculated balance, also shown as a shortcut button. Computed
Dernier rapport Date and time of the last sending. Empty
Mode de palier The chosen alert mode, or none. Désactivé (deactivated)
Budget alloué (h) The reference for the percentage mode. Changing this value re-arms all thresholds. Empty
Destinataires des alertes Recipients specific to alerts. Empty; the report recipients are then used
Notifier les followers internes Also posts the alert in the chatter, for the team. Checked

Fields of a notification threshold#

Field Description Required or default
Seuil (threshold) Hours for the Heures non facturées and Solde résiduel sous seuil modes, a percentage from 0 to 100 for the % du budget alloué mode. A negative value sets the threshold below zero, which is useful on a postpaid account. Required; zero is refused
Libellé The text that identifies the threshold in the alert and in the history. Empty
Armé (armed) Shows that the threshold is ready to trigger. Computed
Dernier déclenchement (last triggered) Date and time of this threshold's last sending. Empty

Fields of the Envoyer rapport dialog#

Field Description Required or default
Banque d'heures The record the report comes from. Taken from the open record
Destinataires The people the email is addressed to. The report recipients
Sujet The email's subject line. Filled in from the client's name
Corps du message The text of the email, which you can edit before sending. Filled in by the email template

Fields of a manual adjustment#

Field Description Required or default
Date The date under which the adjustment is placed in the detail. Today
Heures Positive to credit, negative to debit. Required
Description The label shown in the report and on the portal. Required

Reports and exports#

  • État des banques d'heures (hour bank statement): the printable document, in the company's colours, with the detail of movements, the credits in green, the summary by project and the monthly overview. Its columns are the date, the hours, the running balance, the description, the project and the task.
  • Workbook: four sheets, namely the timesheets, the summary by project, the monthly overview and what remains to be invoiced.
  • You can get both files from the form's buttons as well as from the sending email, and the client downloads them from their portal.

Automations#

  • Report sending: one check per day. The banks sent are those whose automatic sending is checked and whose rhythm falls on that day: Monday for weekly, every other Monday for the two-week rhythm, the first of the month for monthly.
  • Threshold check: also once a day, a little later. For each bank whose mode is not deactivated, each armed threshold whose measure reaches its value sends its alert, with the workbook attached.
  • Re-arming: a threshold does not trigger again until the situation has changed. A new posted invoice re-arms the unbilled hours mode, a budget change re-arms the percentage mode, and the balance rising back above the threshold re-arms the balance mode.
  • Installing or updating the module sends nothing: the threshold mode is deactivated by default on all banks.

Public pages and portal#

  • A client signed in to their portal sees the Banque d'heures card and, behind it, the list of their banks.
  • The detail page shows the balance, the table of movements and the summary by project.
  • Two download links provide the document and the workbook, in the same version as yours.
  • None of these pages is public: they require a portal account linked to the right client.

Modules that extend this application#

Understanding#

The balance is not a bank account. Nothing is debited or credited anywhere: the figure is recalculated at every display from the hours, the invoices and the adjustments. Correcting a timesheet from three weeks ago therefore changes today's balance. That is intended: the balance tells the truth of the moment, not the history of an entry.

Hours debit, invoices credit. Logging time bills nothing, and invoicing a block uses nothing. That separation keeps the tracking honest. An invoice raises the balance on the day it is posted, not the day it is paid, and an hour entered lowers it on the day of the work.

A prepaid package and a postpaid account are two uses of the same tool. With a package, the client buys in advance; the balance starts from a positive number and goes down. With a postpaid account, the client buys nothing in advance; hours accumulate as debt and each invoice brings the balance back toward zero. In that second case, a threshold set below zero, for example at minus twelve hours, alerts when the debt exceeds twelve hours, and re-arms at the next invoice. The alert then speaks of debt, and that is the word the client reads in the email subject.

Why a below-zero threshold beats unbilled hours. The unbilled hours mode counts only from the last posted invoice. Hours that an invoice did not cover therefore fall out of the measure, and the alert arrives late by that remainder. The balance threshold, on the other hand, starts from the real balance.

A threshold only speaks up once. As long as nothing changes in the situation that caused the alert, it does not go out again. That is what spares you the same warning every morning. The flip side is that a threshold armed at the wrong time stays silent until the next re-arming: the manual check is there precisely to get ahead of it.

A trace, not an editable log. Each alert leaves a record with the mode, the threshold, the measured value, the recipients and the attached file. Nothing can be deleted or corrected there, so that the question “why wasn't I warned?” always has an answer you can verify.

Troubleshooting#

Symptom Likely cause Fix
The balance stays at 0.00 even though the team entered hours. No project is linked in the Projets tab, as on the demo records. Add the mandate's projects, then reopen the record.
An invoice does not appear as a credit. It is not posted, or a company, partner or product filter excludes it. Post the invoice, widen the filters in the Facturation tab, or add it in Factures additionnelles.
The automatic report never went out. Envoi automatique is cleared, or no recipient is named. Check the box, choose the frequency and add at least one recipient.
No alert goes out despite a low balance. The threshold mode is still deactivated, or the threshold has not been re-armed since it last triggered. Choose a mode, then select Vérifier les paliers maintenant to see what triggers.
A burst of alerts goes out at once. Several thresholds already crossed were activated at the same time. Deactivate the lines and reactivate them one by one, or let the first wave pass.
A threshold refuses to save with the value zero. Zero is refused, so that a line saved by mistake does not alert at the first empty balance. Enter a value: positive for a floor above zero, negative for a postpaid account.
The client does not see their bank in their portal. Their contact has no portal access, or is not linked to the right company. Create the portal access and check the link in Contacts.

See also#