QI Solution Integration
The QI Solution integration connects ACCELERO to the QI Solution educational ERP. It automatically imports the school records (students, guardians, and authorized people) and sends back the students' daily attendance data, eliminating duplicate registration between the school office and access control.
This integration is provided as a plugin (qisolution) and corresponds to a licensed module of ACCELERO (Integrations category) — it must be installed and enabled by the IONGRADE technical team. Contact support to check the availability and compatibility with your ACCELERO version.
Current plugin version: 2.0.0 — compatible with ACCELERO 2.17.0 or higher.
What the integration does
With the plugin active, ACCELERO queries the QI Solution database to keep the records synchronized and reports the students' attendance back to the ERP. Synchronization runs automatically once a day (and can be triggered manually), while attendance sending occurs daily and can also be done manually for a specific date.
| Feature | What happens in ACCELERO |
|---|---|
| Import of student records | Each student becomes a Person, with the enrollment recorded in the code field; a Company representing the student and the class links is also created |
| Import of guardians | Father, mother, and pedagogical and financial guardians are imported as People, identified by CPF |
| Pedagogical and financial guardians | Receive a default category and association type (configurable) and are linked to the companies of the students they are responsible for |
| Import of authorized people | People authorized to pick up/accompany the student are imported and linked to the student's company |
| Enable/disable students by status | The student is enabled or disabled according to the enrollment status returned by QI Solution |
| Cleanup of obsolete links | Links, categories, and companies created by the integration that no longer appear in the QI Solution database are removed automatically |
| Daily attendance sending | Each student's first entry and last exit of the day are computed from the access events and sent to QI Solution |
Keeps the school records (students, classes, and guardians) and attendance synchronized automatically, with no duplicate data entry between the office and access control.
Configuration
Navigation path: Settings > Integrations - QI Solution
The configuration screen has three tabs: General, Record import, and Attendance report.
The QI Solution integration configuration screen showing the three tabs (General, Record import, and Attendance report).
General tab
Authentication data common to all integration operations.
| Field | Description |
|---|---|
| School token | Token that identifies the school in the QI Solution database |
| QI Solution authorization | Value of the Authorization header used in the API calls |
| API Timeout | Maximum time, in seconds, to wait for API responses |
The token and the authorization are provided by QI Solution / IONGRADE during deployment. Without this data, the integration cannot query or send information.
Record import tab
Defines the data source and the default values applied to the imported people.
The Record import tab, showing the API address, stages, and status fields and the default-value blocks for pedagogical guardians, financial guardians, and authorized people.
| Field | Description |
|---|---|
| API address | Base URL of the QI Solution API used to fetch the records |
| Stages to synchronize | School years / stages to import, separated by commas (e.g., 2025, 2026). If empty, uses the current year |
| Statuses that should enable the student record | Multi-selection of enrollment statuses that keep the student enabled in ACCELERO. Other statuses leave the student disabled |
| Synchronization operator | ACCELERO operator under whom the synchronization is run (responsible for the record changes) |
Available enrollment statuses
The Statuses that should enable the student record field offers the following values (returned by QI Solution):
| Code | Description |
|---|---|
| 0 | Not enrolled |
| 1 | Enrolled |
| 2 | Attending |
| 3 | Enrollment Canceled |
| 4 | Dropped out |
| 5 | Transferred from School |
| 6 | Enrollment Suspended |
| 7 | Transferred from Class |
| 10 | Promoted |
| 14 | Approved by the council |
| 21 | Final recovery |
| 24 | Retained |
Records with status 7 - Transferred from Class are ignored in the import — they represent a history of movement, not the student's current link.
Default values for imported pedagogical guardians
| Field | Description |
|---|---|
| Default category | Category assigned to people imported as pedagogical guardians |
| Default association type | Association type (person↔company link) used to link the pedagogical guardian to the student's company |
Default values for imported financial guardians
| Field | Description |
|---|---|
| Default category | Category assigned to people imported as financial guardians |
| Default association type | Association type used to link the financial guardian to the student's company |
Default values for imported authorized people
| Field | Description |
|---|---|
| Default category | Category assigned to people imported as authorized people |
Tab buttons
| Button | Function |
|---|---|
| Test synchronization | Queries the QI Solution database and checks whether all the required Categories (classes) already exist in ACCELERO, without changing data. In case of a discrepancy, it lists the missing categories |
| Synchronize now | Triggers the full synchronization immediately, in the background |
When triggering Synchronize now, the system warns that the process may take some time and cause instability while the data is processed. Prefer running it outside peak hours.
Attendance report tab
Configures the sending of the students' daily attendance data back to QI Solution.
The Attendance report tab, showing the attendance API address, the "inside"/"outside" area fields, and the manual data sending block.
| Field | Description |
|---|---|
| API address | URL of the QI Solution endpoint that receives the attendance data |
| Areas that mean "inside" | Multi-selection of areas whose passage is interpreted as the student's entry |
| Areas that mean "outside" | Multi-selection of areas whose passage is interpreted as the student's exit |
Buttons and manual sending
| Button | Function |
|---|---|
| Test data sending | Sends a test request (without attendance data) to validate the endpoint and the authorization |
| Send data manually | In the Manual data sending block, provide the Date to be sent and trigger the attendance sending for that specific day |
Use Send data manually to resend the attendance of a day when the automatic sending failed or to replace data after a configuration adjustment.
Entities created and updated
The integration does not add fields to forms — it creates and maintains records in ACCELERO's existing entities.
Person
Each student, guardian, and authorized person becomes a Person:
- Students are identified by their enrollment, recorded in the person code field (
pesCodigo). Name and email come from QI Solution and the record is enabled or not according to the enrollment status. - Guardians (father, mother, pedagogical, financial) are identified by CPF (the person's document).
- Authorized people are marked internally as originating from QI Solution and receive the configured default category.
Company
For each student a Company is created/maintained whose description combines the student's enrollment and name. This company serves as the connection point to link the guardians and authorized people to that student.
Categories (classes) and Association types
- The classes returned by QI Solution correspond to Categories in ACCELERO. The student is linked to the categories of their classes.
- The Association types (person↔company link) represent the role of each guardian.
Synchronization does not automatically create the class categories — it only links the students to already-registered categories. Use Test synchronization to discover which classes are missing and create them in Categories before running the full import.
How the integration behaves
Record synchronization
When synchronizing, ACCELERO:
- Fetches the students of each configured stage from the QI Solution API.
- Ensures that the students' companies and the required association types exist (creating them when needed).
- Creates or updates the People of the students, guardians, pedagogical, and financial guardians, with their class, company, and category links.
- Removes links, categories, and companies created by the integration itself that no longer appear in the QI Solution data (cleanup of obsolete records).
The integration only removes records that it created itself (marked internally as originated from QI Solution). Records and links created manually in ACCELERO are not affected by the cleanup.
When synchronization is triggered
- Automatically: the integration reschedules itself to run daily (by default, in the early morning). On each run, the record synchronization, the attendance sending, and the import of authorized people are triggered in sequence.
- Manually: via the Synchronize now button on the Record import tab.
While a synchronization is in progress, a new manual run is blocked for a few minutes to avoid simultaneous processes. Wait for it to finish before triggering again.
Process notifications
The Synchronization operator (or whoever triggered it manually) receives notifications in ACCELERO informing about the start, the end (with the time spent), and any errors in the process.
Attendance calculation and sending
- For the processed date, the system reads the real access events of the people who have an enrollment.
- The first passage through an area marked as "inside" is recorded as an Entry; the passage through an area marked as "outside" is recorded as an Exit.
- The data is sent to QI Solution identifying each student by their enrollment (RA).
- In automatic sending, the previous day's attendance is processed.
Without areas marked as "inside" and "outside", no attendance is computed. Only events in those areas enter the report sent to QI Solution.
Use cases
Deploy the integration in a school
- Request that IONGRADE install the
qisolutionplugin. - In
Settings > Integrations - QI Solution > General, fill in the School token, Authorization, and API Timeout. - On the Record import tab, provide the API address, the Stages to synchronize, the statuses that enable the student, and the Synchronization operator.
- Define the default categories and association types for pedagogical, financial, and authorized people.
- Click Test synchronization and register in Categories the classes that appear as missing.
- Click Synchronize now and track the notifications.
Configure attendance sending
- On the Attendance report tab, provide the attendance API address.
- Select the Areas that mean "inside" and the Areas that mean "outside".
- Use Test data sending to validate the connection.
- Leave the daily automatic sending active, or use Send data manually for specific dates.
Fix a student who does not appear in access control
- Check, in Test synchronization, whether the student's class exists as a Category.
- Verify whether the student's enrollment status is among those configured to enable the record.
- Trigger Synchronize now and track the completion/error notifications.
Best practices
- Register the classes first: run Test synchronization and create the missing class categories before the first full import.
- Use a dedicated operator: configure a specific operator (e.g., "QI Solution Integration") as the Synchronization operator, instead of a named account.
- Synchronize outside peak hours: the process may cause temporary instability; prefer the automatic early-morning window for large volumes.
- Review the enabling statuses: keep in Statuses that should enable the student record only the statuses that should actually grant access (e.g., Enrolled, Attending).
- Do not manually edit imported records: manual changes to students, companies, and links created by the integration may be undone in the next synchronization.
Troubleshooting
"Test synchronization" flags missing categories
Cause: the classes returned by QI Solution do not yet exist as Categories in ACCELERO.
Solution:
- Note the categories listed by the test message.
- Register them in Categories with the same description.
- Run Test synchronization again until there are no pending items.
Error querying the API / synchronization fails
Possible causes:
- Incorrect token, authorization, or API address.
- QI Solution API unavailable or slow (timeout).
- Outbound block in the ACCELERO server firewall.
Solution:
- Review the fields on the General tab and the API address on the Record import tab.
- Increase the API Timeout if the database is large.
- Test the connectivity of the ACCELERO server to the QI Solution endpoint.
- If it persists, contact IONGRADE support.
Failures due to a QI Solution API timeout are recorded only as a debug log, not as an error. The synchronization retries consuming the data a few times before giving up.
Student imported, but without access
Possible causes:
- The student's enrollment status is outside the list of statuses that enable the record.
- The student's class (category) is not registered.
Solution:
- Confirm the student's status in QI Solution and in the enabling-status configuration.
- Make sure the class category exists.
- Run Synchronize now.
Attendance does not reach QI Solution
Possible causes:
- Attendance API address not configured.
- No area marked as "inside" or "outside".
- No access events on the processed date.
Solution:
- Check the API address on the Attendance report tab.
- Confirm the Areas that mean "inside"/"outside".
- Use Test data sending and, if necessary, Send data manually for the desired date.
Integration with other modules
People
The integration creates and maintains the records of students, guardians, and authorized people. See People.
Companies
Each student is represented by a Company (enrollment + name) used to link guardians and authorized people. See Companies.
Categories
The classes correspond to categories; the default categories of the guardians are also configured here. See Categories.
Association types
They define the link between the guardian and the student's company. See Association types.
Areas
The "inside" and "outside" areas determine how entries and exits are computed for the attendance report. See Areas.
Logs and Events
Attendance is computed from the real access events recorded by the system. See Logs and Monitoring.
Next Steps
- People — Understand the people registry maintained by the integration
- Companies — See how each student is represented by a company
- Categories — Register the classes before synchronizing
- Association types — Configure the guardians' links
- Areas — Define the entry and exit areas for attendance
- Plugins — Learn more about the ACCELERO plugin system