Workbook workflow

Status form

  • Structure cannot change status while standard process and so does not have access to this form;
  • This form allways requires to fill a comment about status changing;
  • Admins (if they have the right permissions) allways have the full status choice list;
  • Guide only have choices for status 2, 3, 4 and 5;
  • Supervisor only have choices for status 6, 7, 8 and 10;
  • DLA Accompanist never have access to this form;

Standard status process

Phases

  • Status 0 is not considered into any phases because the workbook is empty;
  • Phase 1 is between status 1 and 5 included;
  • Phase 2 is between status 6 and 8 included;
  • Status 9 and further are not considered into any phases because the workbook is stopped;

Status list

Status #0 - Créé

Usage
automatic
Processed on
Setted during Workbook creation process.
Meaning
The workbook has just been created.
Result
None

Status #1 - En cours

Usage
automatic
Processed on
Not used, status will allways directly goes to the next direct step.
Meaning
None
Result
None

Status #2 - En cours accompagnateur phase 1

Usage
automatic
Processed on
For the first sheet saving, this is automatically applied.
Meaning
Structure has started to fill datas.
Result
Guide is given right to start to accompany (and so gains write permission on datas).

Status #3 - Mise en attente par l’accompagnateur phase 1

Usage
manual
Processed on
When Guide or admins trigger the status.
Meaning
Phase 1 is on hold, the Guide probably waits for more informations from the structure.
Result
  • Workflow is paused and cannot continue without Accompanist or admin changing status;
  • Structure and Accompanist still have the writing permissions on datas;

Status #4 - Arrêt du diagnostic par l’accompagnateur phase 1

Usage
manual
Processed on
When Guide or admins trigger the status.
Meaning
The workbooks is stopped. Accompanist probably think the structure financial datas are not viable or Admin (or scheduled robot) has stopped it because of inactivity.
Result
  • Workflow is stopped and cannot continue without guide or admin changing status;
  • Structure and Accompanist still have the writing permissions on datas;

Status #5 - Validé par l’accompagnateur phase 1

Usage
manual
Processed on
When Guide or admins trigger the status.
Meaning
The phase 1 has been validated. Accompanist and structure are done with datas.
Result
  • The workbook will automatically goes to the next phase as soon as the access permission is granted to Supervisor, until this the status will remain the same;
  • Structure and Guide lose writing rights on datas;
  • The structure gains read access to the hided sheets;
  • Guide can produce an unique invoice if the workbook parameters enable it (invoice phase authorized and workbook not in Simplified mode);

Status #6 - En cours accompagnateur phase 2

Usage
automatic
Processed on
When the status “5” has been triggered it automatically goes to this one as soon as the access permission is granted to the Supervisor. Also admins can force it manually if needed.
Meaning
Supervisor is granted to work on the workbook datas.
Result
  • Supervisor gains reading and writing permissions.
  • Structure lose writing permissions on datas;

Status #7 - Mise en attente par l’accompagnateur phase 2

Usage
manual
Processed on
When Supervisor or admins trigger the status.
Meaning
Phase 2 is on hold, the Supervisor probably waits for more informations from the structure.
Result
  • Workflow is paused and cannot continue without Supervisor or admin changing status;
  • Supervisor still have the writing permissions on datas;

Status #8 - Arrêt du diagnostic par l’accompagnateur phase 2

Usage
manual
Processed on
When Supervisor or admins trigger the status.
Meaning
The workbooks is stopped. Accompanist probably think the structure financial datas are not viable or Admin (or scheduled robot) has stopped it because of inactivity.
Result
  • Workflow is stopped and cannot continue without Accompanist or admin changing status;
  • Structure and Accompanists lose writing permissions on datas.

Status #9 - Arrêté par l’administrateur

Usage
manual or automatic
Processed on
When an admin or a robot scheduled task triggers the status.
Meaning
The workbook has been stopped for some management reason from an admin or has been stopped due to detected inactivity from a robot rules.
Result
  • Workflow is stopped and cannot continue without admin changing status;
  • Structure and Accompanists lose writing permissions on datas.
  • Accompanists cannot produce an invoice anymore;

Status #10 - Validation du diagnostic

Usage
manual
Processed on
When Supervisor or admins trigger the status.
Meaning
The phase 2 has been validated. Supervisor are done with datas.
Result
  • Workbook is locked, no one can edit it again;
  • Status automatically goes to #11;
  • Accompanist can produce an unique invoice if the workbook parameters enable it (invoice phase authorized and workbook not in Simplified mode);

Status #11 - Validé

Usage
manual or automatic
Processed on
When the Status #10 has been triggered it automatically goes to this one or if admins trigger it.
Meaning
Workbook has been validated either from Supervisor or an admin.
Result
  • Workbook is locked, no one can edit it again;
  • The structure gains Simplified mode rights and should be able to evolve the workbook for further years;

Simplified status process

When workbook is in Simplified mode, status process is a little bit different because not all status are available, instead this a simplified process using a limited set of status.

However status keep the same meaning that during standard process, this simplified process is :

There is no phases when in simplified mode, workbook is considered either as in progress or finished.

Also, status form is only displayed for Structure and Admins, Guide and Supervisor cannot manage it anymore.

Flow chart

digraph Workflow {
    /* Define all the entities label and node styles */
    status_0 [label="Status #0\nCreated"];
    status_2 [label="Status #2\nOngoing guide"];
    status_3 [label="Status #3\nOn hold by guide"];
    status_4 [label="Status #4\nStopped by guide"];
    status_5 [label="Status #5\nValidated by guide"];
    status_6 [label="Status #6\nOngoing supervisor"];
    status_7 [label="Status #7\nOn hold by supervisor"];
    status_8 [label="Status #8\nStopped by supervisor"];
    status_10 [label="Status #10\nValidated by supervisor"];
    status_11 [label="Status #11\nValidated"];

    create_workbook [label="Create workbook", shape="invhouse"];
    structure_start_filling_datas [label="Struture starts\nto fill datas", shape="rectangle"];

    guide_push_pause [label="Guide put\non hold", shape="rectangle"];
    guide_validate [label="Guide validate\nphase 1", shape="rectangle"];
    guide_push_stop [label="Guide stop\nphase 1", shape="rectangle"];

    phase1_transition [shape="plaintext", label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="7">
    <TR><TD>Structure lose write perm</TD></TR>
    <TR><TD>Structure can read hided sheets</TD></TR>
    <TR><TD>Guide lose write perm</TD></TR>
    <TR><TD>Guide cannot edit status</TD></TR>
    </TABLE>>]

    supervisor_access [label="Supervisor\nauthorization\nform", shape="diamond", style="rounded"];
    supervisor_still_waiting_access [label="Supervisor does not\nhave any access", shape="rectangle"];
    supervisor_gain_access [label="Supervisor gains read\nand write access", shape="rectangle"];
    supervisor_push_pause [label="Supervisor put\non hold", shape="rectangle"];
    supervisor_validate [label="Supervisor validate\nphase 2", shape="rectangle"];
    supervisor_push_stop [label="Supervisor stop\nphase 2", shape="rectangle"];

    invoice_phase1_enabled [label="Workbook enable\ninvoice", shape="rectangle"];
    invoice_phase1_disabled [label="Workbook disable\ninvoice", shape="rectangle"];
    guide_emit_invoice [label="Guide can emit\nan invoice", shape="egg"];
    invoice_phase1_unavailable [label="Invoice is\nunavailable", shape="egg"];


    workbook_stopped [label="Workbook\nis stopped", shape="egg"];
    workbook_finished [label="Workbook\nis finished", shape="egg"];

    /* Phase 1 group */
    subgraph cluster_phase_1 {
        style="rounded";
        color="lightgrey";
        fontcolor="lightslategray";
        label = "Phase 1";

        structure_start_filling_datas -> status_2;
        status_2 -> {guide_push_pause guide_validate guide_push_stop};

        guide_push_pause -> status_3;
        status_3 -> {guide_validate guide_push_stop};

        guide_push_stop -> status_4;
    }

    /* Invoice phase 1 group */
    subgraph cluster_invoice_phase_1 {
        style="rounded";
        color="lightgrey";
        fontcolor="lightslategray";
        label = "Invoice phase 1";

        invoice_phase1_enabled;
        invoice_phase1_disabled;
        invoice_phase1_enabled -> guide_emit_invoice;
        invoice_phase1_disabled -> invoice_phase1_unavailable;
    }


    /* Phase 2 group */
    subgraph cluster_phase_2 {
        style="rounded";
        color="lightgrey";
        fontcolor="lightslategray";
        label = "Phase 2";

        status_6;

        status_6 -> {supervisor_push_pause supervisor_validate supervisor_push_stop};

        supervisor_push_pause -> status_7;
        status_7 -> {supervisor_validate supervisor_push_stop};

        supervisor_push_stop -> status_8;
        supervisor_validate -> status_10;
    }

    /* Start to phase 1 */
    create_workbook -> status_0;
    status_0 -> structure_start_filling_datas;
    guide_validate -> status_5;

    /* Pre-phase 2 */
    status_5 -> phase1_transition;
    phase1_transition -> supervisor_access;
    status_5 -> {invoice_phase1_enabled invoice_phase1_disabled};

    supervisor_access -> {supervisor_gain_access supervisor_still_waiting_access};
    supervisor_still_waiting_access -> supervisor_access;
    supervisor_gain_access -> status_6;

    /* Final */
    status_4 -> workbook_stopped;
    status_8 -> workbook_stopped;
    status_10 -> status_11;
    status_11 -> workbook_finished;
}