Skip to content

MVP goal sequence diagram


sequenceDiagram
autonumber
participant Client
participant Candidate
participant Cruits
participant MSR as MySolution Recruitment (MSR)
participant MSF as MySolution Finance (MSF)


rect rgb(235,245,255)
note over Client,Cruits: Client onboarding
Client->>Cruits: Sign up (company + contacts)
Cruits->>MSR: Create Account + Contacts
MSR-->>MSF: Sync -> Customer created/updated


Cruits->>MSR: Create Project (per client/location) with CAO
MSR-->>MSF: Sync -> Project (with CAO) created/updated
end


rect rgb(245,255,245)
note over Candidate,Cruits: Candidate onboarding
Candidate->>Cruits: Sign up (Prospect → Candidate)
Cruits->>MSR: Create Candidate (Contact)
MSR-->>MSF: Sync -> Resource/Employee created/updated
end


rect rgb(250,245,255)
note over Client,MSR: Vacancy creation (this is always in the context of a Project, which includes CAO)
Client->>Cruits: Create Job (vacancy). Pull valid job roles from MYS via CAO
Cruits->>MSR: Create Job (Vacancy)
end


rect rgb(255,250,240)
note over Candidate,MSR: Application
Candidate->>Cruits: Apply to Job
Cruits->>MSR: Create Job Application
end


rect rgb(255,245,245)
note over Client,MSF: Offer → Placement → Docs
Client->>Cruits: Send Offer (start/end, terms)
Cruits->>MSR: Create Placement (basicaly combines Vacancy+Candidate+final start date+end date)
MSR-->>MSF: Sync -> Project Resource (assignment) created/updated
MSR->>MSR: Generate DRAFT documents\n• Uitzendbevestiging (client)\n• Arbeidsovereenkomst (if needed)


alt Candidate has BSN/bank (or valid contract on file)
Candidate->>Cruits: Accept Offer
Cruits->>MSR: Trigger e-sign (docs)
MSR-->>Cruits: Doc statuses = Signed
Cruits->>MSR: Set Placement = Signed/Active
else Pro-forma acceptance (no BSN/bank yet)
Candidate->>Cruits: Accept Offer (Pro-forma)
Cruits->>MSR: Mark Placement = Pro-forma
Candidate->>Cruits: Complete onboarding in NL\n• Obtain BSN + bank account
Cruits->>MSR: Verify flags. finalize docs. (re-issue if needed)
MSR-->>Cruits: Doc statuses = Signed
Cruits->>MSR: Set Placement = Signed/Active
end
end


rect rgb(245,245,255)
note over Candidate,MSF: Delivery → Hours → Payroll/Invoice
loop Each pay period
Candidate->>Cruits: Submit hours
Client->>Cruits: Approve hours
Cruits->>MSF: Post approved timesheets\n(Project + Project Resource)
MSF->>MSF: Payroll run (CAO + Wage table/scale)
MSF-->>Candidate: Payslip available
MSF->>Client: Invoice generated/sent
end
end


%% Key constraints & guards
note over Cruits,MSR: Guards
Note right of Cruits: • Role must be valid for Project CAO\n• Signing blocked until BSN/bank verified or valid contract exists
Note over MSR,MSF: Data Sync
Note right of MSR: • Account/Contacts/Project/Placement master in MSR
Note right of MSF: • Customer/Project/Timesheets/Payroll/Invoice master in MSF