Onboard a new company to Cruits¶
- Sync Account(company) to teamerr
- Sync Projects to teamerr
- Sync price agreements for company to teamerr
If CAO functions are not present, you will see a warning in the logs. In that case, load CAO functions first:
If CAO not present, load it by sf ref:
Flow diagram¶
flowchart TD
Start([Start onboarding]) --> Step1
subgraph Step1["1. Sync Company"]
S1_cmd["load_company_from_sf<br/>--account SF_ID"]
S1_sf[("Salesforce<br/>Account")]
S1_db[("Cruits DB<br/>Company")]
S1_cmd -- "SOQL query" --> S1_sf
S1_sf -- "Account fields" --> S1_cmd
S1_cmd -- "create / update" --> S1_db
end
Step1 --> Step2
subgraph Step2["2. Sync Projects"]
S2_cmd["load_account_projects_from_sf<br/>--account SF_ID"]
S2_sf[("Salesforce<br/>msf__Project__c")]
S2_db[("Cruits DB<br/>LocationProject<br/>JobLocation")]
S2_cmd -- "SOQL query" --> S2_sf
S2_sf -- "Project records" --> S2_cmd
S2_cmd -- "create Location +<br/>LocationProject" --> S2_db
end
Step2 --> CheckCAO{CAO exists<br/>in Cruits?}
CheckCAO -- Yes --> CheckFunctions{CAO functions<br/>exist?}
CheckCAO -- "No — load from SF" --> LoadCAO
subgraph LoadCAO["Load CAO"]
LC_cmd["load_cao_from_sf<br/>--ref cao_salesforce_ref"]
LC_sf[("Salesforce<br/>msf__Collective_Agreement__c")]
LC_db[("Cruits DB<br/>CollectiveAgreement")]
LC_cmd -- "SOQL query" --> LC_sf
LC_sf -- "CAO record" --> LC_cmd
LC_cmd -- "create / update" --> LC_db
end
LoadCAO --> CheckFunctions
CheckFunctions -- Yes --> Done
CheckFunctions -- "No — load from BC" --> LoadFunctions
subgraph LoadFunctions["Load CAO Functions"]
LF_cmd["load_cao_function_for_cao_from_bc<br/>--cao cao.pk"]
LF_bc_cao[("Business Central<br/>collectiveAgreements")]
LF_bc_wt[("Business Central<br/>wageTables")]
LF_bc_fn[("Business Central<br/>wageTableFunctions")]
LF_db[("Cruits DB<br/>JobPosition")]
LF_cmd -- "get CAO number" --> LF_bc_cao
LF_cmd -- "get wage tables<br/>by cao_code" --> LF_bc_wt
LF_cmd -- "get functions<br/>filtered by wage tables" --> LF_bc_fn
LF_bc_fn -- "function records" --> LF_cmd
LF_cmd -- "create JobPosition<br/>per function" --> LF_db
end
LoadFunctions --> RetryProjects["Re-run step 2<br/>to link functions"]
RetryProjects --> Done([Done])
style S1_sf fill:#4a90d9,color:#fff
style S2_sf fill:#4a90d9,color:#fff
style LC_sf fill:#4a90d9,color:#fff
style LF_bc_cao fill:#e8833a,color:#fff
style LF_bc_wt fill:#e8833a,color:#fff
style LF_bc_fn fill:#e8833a,color:#fff
style S1_db fill:#5cb85c,color:#fff
style S2_db fill:#5cb85c,color:#fff
style LC_db fill:#5cb85c,color:#fff
style LF_db fill:#5cb85c,color:#fff