Skip to main content

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.

Availability

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.

Compatibility

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.

FeatureWhat happens in ACCELERO
Import of student recordsEach 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 guardiansFather, mother, and pedagogical and financial guardians are imported as People, identified by CPF
Pedagogical and financial guardiansReceive a default category and association type (configurable) and are linked to the companies of the students they are responsible for
Import of authorized peoplePeople authorized to pick up/accompany the student are imported and linked to the student's company
Enable/disable students by statusThe student is enabled or disabled according to the enrollment status returned by QI Solution
Cleanup of obsolete linksLinks, categories, and companies created by the integration that no longer appear in the QI Solution database are removed automatically
Daily attendance sendingEach student's first entry and last exit of the day are computed from the access events and sent to QI Solution
Main benefit

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.

TODO: Add Screenshot

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.

FieldDescription
School tokenToken that identifies the school in the QI Solution database
QI Solution authorizationValue of the Authorization header used in the API calls
API TimeoutMaximum time, in seconds, to wait for API responses
Credentials provided by QI Solution

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.

TODO: Add Screenshot

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.

FieldDescription
API addressBase URL of the QI Solution API used to fetch the records
Stages to synchronizeSchool years / stages to import, separated by commas (e.g., 2025, 2026). If empty, uses the current year
Statuses that should enable the student recordMulti-selection of enrollment statuses that keep the student enabled in ACCELERO. Other statuses leave the student disabled
Synchronization operatorACCELERO 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):

CodeDescription
0Not enrolled
1Enrolled
2Attending
3Enrollment Canceled
4Dropped out
5Transferred from School
6Enrollment Suspended
7Transferred from Class
10Promoted
14Approved by the council
21Final recovery
24Retained
Status "Transferred from Class" (7)

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

FieldDescription
Default categoryCategory assigned to people imported as pedagogical guardians
Default association typeAssociation type (person↔company link) used to link the pedagogical guardian to the student's company

Default values for imported financial guardians

FieldDescription
Default categoryCategory assigned to people imported as financial guardians
Default association typeAssociation type used to link the financial guardian to the student's company

Default values for imported authorized people

FieldDescription
Default categoryCategory assigned to people imported as authorized people

Tab buttons

ButtonFunction
Test synchronizationQueries 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 nowTriggers the full synchronization immediately, in the background
Manual synchronization may cause temporary instability

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.

TODO: Add Screenshot

The Attendance report tab, showing the attendance API address, the "inside"/"outside" area fields, and the manual data sending block.

FieldDescription
API addressURL 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

ButtonFunction
Test data sendingSends a test request (without attendance data) to validate the endpoint and the authorization
Send data manuallyIn the Manual data sending block, provide the Date to be sent and trigger the attendance sending for that specific day
When to use manual sending

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.
The Categories (classes) must exist before synchronization

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:

  1. Fetches the students of each configured stage from the QI Solution API.
  2. Ensures that the students' companies and the required association types exist (creating them when needed).
  3. Creates or updates the People of the students, guardians, pedagogical, and financial guardians, with their class, company, and category links.
  4. Removes links, categories, and companies created by the integration itself that no longer appear in the QI Solution data (cleanup of obsolete records).
Automatic removal 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.
Concurrency lock

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.
Configure the entry and exit areas

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

  1. Request that IONGRADE install the qisolution plugin.
  2. In Settings > Integrations - QI Solution > General, fill in the School token, Authorization, and API Timeout.
  3. On the Record import tab, provide the API address, the Stages to synchronize, the statuses that enable the student, and the Synchronization operator.
  4. Define the default categories and association types for pedagogical, financial, and authorized people.
  5. Click Test synchronization and register in Categories the classes that appear as missing.
  6. Click Synchronize now and track the notifications.

Configure attendance sending

  1. On the Attendance report tab, provide the attendance API address.
  2. Select the Areas that mean "inside" and the Areas that mean "outside".
  3. Use Test data sending to validate the connection.
  4. Leave the daily automatic sending active, or use Send data manually for specific dates.

Fix a student who does not appear in access control

  1. Check, in Test synchronization, whether the student's class exists as a Category.
  2. Verify whether the student's enrollment status is among those configured to enable the record.
  3. 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:

  1. Note the categories listed by the test message.
  2. Register them in Categories with the same description.
  3. 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:

  1. Review the fields on the General tab and the API address on the Record import tab.
  2. Increase the API Timeout if the database is large.
  3. Test the connectivity of the ACCELERO server to the QI Solution endpoint.
  4. If it persists, contact IONGRADE support.
Timeouts do not become errors

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:

  1. Confirm the student's status in QI Solution and in the enabling-status configuration.
  2. Make sure the class category exists.
  3. 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:

  1. Check the API address on the Attendance report tab.
  2. Confirm the Areas that mean "inside"/"outside".
  3. 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