Brazil Compliance Reports
In compliance with legislation in Brazil, the Brazil Compliance Report extension generates multiple reports that employers provide to local authorities.
This extension relies on two component types to produce the reports:
- BIRT reports — Pre-configured reports which adhere to the government-defined formats.
- Boomi™ integration — This part of the extension retrieves timecard data that matches the selected Hyperfind and time period. It then calls the appropriate Report API which passes data to the corresponding BIRT report.
When the Boomi™ integration completes, the report is available for download from the integration page. Reports remain available for future reference in the configured SFTP location.
Each report is designed with a fixed layout, but labels can be edited in the report properties file.
Reports available in this extension include:
-
Arquivo Eletronico de Jornada (AEJ) Report — Content focuses primarily on modifications made to punches after the employee clocks in. Record types vary based on the employee type.
-
Arquivo Fonte de Dados (AFD) Report — Content focuses on the initial collection of the punches. It must be generated by the vendor device or the software where the punches were collected:
-
If certified clocks are used, then the report must be made available by the clock producer.
-
Since UKG is not providing certified clocks to our Brazilian users, all REP-C type employees will be ignored for the AFD report.
-
-
If punches are added or modified, then the report must be made available by the software provider (in this case UKG). These punches could have been added manually, for example, through Timestamp, API, or mobile devices.
-
-
Proof of Punch Report — Provides employees with access to their punch information for verification purposes. Offers email delivery directly to the employee.
-
Timecard Mirror Report — Contains employee timecard information relative to the selected date range.Note:
This extension generates the required digital signature for each report and then uploads the signature file to the same location as the report file. AEJ and AFD report files are given a .TXT extension and signature files are given a .P7S extension; Proof of Punch and Timecard Mirror report and signature files are given a .PDF extension. Timecard Mirror report does not have a signed version,
The digitally signed report cannot simply be opened to validate its signature with a standard PDF reader. Due to the legal framework for digital signatures in Brazil, you need to use a specific tool to verify the authenticity and integrity of the digital signature.
UKG is not responsible for the installation or provision of this third-party tool.
Considerations and limitations — Brazil Compliance Reports
The Brazil Compliance Reports extension:
-
requires correct configuration of the SFTP location.
-
requires that appropriate SFTP access is granted to those who view generated reports.
-
assumes the correct Brazil Compliance configuration in the People Information record for each individual who is expected to be included in the reports.
-
assumes that the generated report file size does not exceed 1024 KB. When generated report files exceed the maximum size, you must narrow the date range or reduce the number of employees that are returned by the filter.
-
places digitally signed report files in the designated Outbound Directory. In the event of a digital signature failure, unsigned reports are placed in the designated Archive Directory.
-
implements a ten (10) second delay when generating the Proof of Punch and Timecard Mirror Reports. A callback message is shown on the integration run page:
-
Status: In Progress
-
Message: Proof of Punch report / Timecard Mirror report is in progress.
-
-
optionally delivers the Proof of Punch Report to employees by way of email.
User experience — Brazil Compliance Reports
Run the Brazil Compliance Reports integration
After navigating to the integration, the user selects either a Hyperfind or specific employees, time period, and one or more reports.
If the user selects the Proof of Punch Report, they choose whether or not to send the report to the employee.
The user then runs the integration.
View the status
When the integration completes, view the Integration Run Details for run status.
Download files
The user downloads report files from the Output Files section of the Run Integration Details pane. Optionally, the user can choose to download all files in .ZIP format from the same location.
Boomi extension setup
- Get the URL, User, and Password for the APIGatewayServer.
- Install and attach the iPack.Note: For more information, see the Deploy Integration Packs to your Atom topic.
- Configure the Brazil Compliance Reports Extension integration settings:
- Configure connection settingsCaution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.
- Configure process properties:
Configure the Brazil Compliance Reports integration
After the integration is deployed, complete the following configurations before you utilize this integration.
Application Setup
- Configure Access to Integrations.
- Configure the following:
- Feature Switch:Enable the Brazil Compliance feature switch. See the Feature Switch topic.
- System Settings: Configure the following Timekeeping Brazil Compliance system settings: site.timekeeping.brc.exportFile.PTRPdeveloperEmail, site.timekeeping.brc.exportFile.defaultReason, site.timekeeping.brc.exportFile.aej.day.paycode.Duration, sitetimekeeping.brc.mirror.combinedPayCode.name. See the Timekeeping System Settings topic.
-
Function Access Profiles (FAP): Edit the FAPs assigned to individuals who run the reports.
Allow the following Manager — Common Setup > Brazil Compliance access control points:
Setup Items,
People Record Configuration,
Retrieve Decrypted PII Data Values via API,
Digitally Sign Brazil Reports.
Allow the following Manager — Common Setup > Integrations access control point:
Allow Manage SFTP.
See the Function Access Profiles topic.
- Brazil Device Setup: Set up a Brazilian data collection system to comply with Brazilian regulations that govern the use of electronic timekeeping systems. Edit required fields in each setup item:
Pay Code Attribute Definitions (map the export keys with appropriate paycodes),
Devices,
Devices Groups,
Companies.
See the Brazil Device Setup topic.
- Connections: Create a new or edit an existing SFTP Connection with all required parameters; and then test the connection. See the Configure the SFTP Connection topic.
- Integration List Parameters: Create integration list parameters that identify the Brazil Compliance reporting period and the report list. See the Configure Integration List Parameters topic.
Name:
BrazilComplianceReportingPeriod
Description:
Reporting period list.
Parameter values
Name Value Current Month
Current Month
Current Year
Current Year
Previous Month
Previous Month
Previous Year
Previous Year
Caution: Parameter values configured in theBrazilComplianceReportingPeriod
integration list parameter must match this example.Name:
BrazilComplianceReportList
Description:
Contains a list of all Brazil Compliance report names from which a selection is made to run a report.
Parameter values
Name Value AEJ Report
AEJ Report
AFD Report
AFD Report
Proof of Punch Report
Proof of Punch Report
Timecard Mirror Report
Timecard Mirror Report
Caution: Parameter values configured in theBrazilComplianceReportList
integration list parameter must match this example. - Extensions Tables: Create the required extension tables that store Brazil Compliance reports data. See the Extensions Tables topic.Enter the following in the Commands for execution field for each extension table definition:Important: When an extension table configuration is modified to accommodate an enhancement, you must drop the existing table and then create a new table. For example, you should issue "
DROP TABLE aejrecord;
" before creating the modified aejrecord table using the command contained below.Create TABLE aejrecord ( Company VARCHAR(255), RecordType VARCHAR(255), FileData VARCHAR(255) );
Create TABLE afdrecord ( Identifier VARCHAR(30), Employer VARCHAR(30), Rep_Type VARCHAR(30), filedata TEXT, recordtype VARCHAR(2) );
Create TABLE proofofpunch ( Header VARCHAR(255), PersonNum VARCHAR(255), Nsr VARCHAR(255), EmployerName VARCHAR(255), EmployerCNPJ VARCHAR(255), EmployerIdentifier VARCHAR(255), CEInCAEPFnCNO VARCHAR(255), Location VARCHAR(255), EmployeeName VARCHAR(255), EmployeeCPF VARCHAR(255), EmployeeIPIN VARCHAR(255), PunchDateTime VARCHAR(255), PunchSource VARCHAR(255), HashCode VARCHAR(255), DigitalSignature VARCHAR(255), ReportRunDateTime VARCHAR(255) );
Create TABLE TimecardMirrorReportPeople ( PersonNumber VARCHAR(255), HeaderReport VARCHAR(255), EmployerName VARCHAR(255), EmployerCNPJ VARCHAR(255), EmployerIdentifier VARCHAR(255), EmployerCEI VARCHAR(255), EmployerCAEPF VARCHAR(255), EmployerLocation VARCHAR(255), EmployerCNO VARCHAR(255), EmployeeName VARCHAR(255), EmployeePIS VARCHAR(255), EmployeeCPF VARCHAR(255), EmployeePrimaryJob VARCHAR(255), EmployeeHireDate VARCHAR(255), ReportTimePeriod VARCHAR(255), VerficationMessage VARCHAR(255), ReportRunDate VARCHAR(255), TimePeriodStartDate VARCHAR(255) );
Create TABLE TimecardMirrorReportSchedule ( PersonNumber VARCHAR(255), ReportTimePeriod VARCHAR(255), HeaderSchedule VARCHAR(255), EmployeeScheduleCode VARCHAR(255), EmployeeUniqueShiftStartTime1 VARCHAR(255), EmployeeUniqueShiftEndTime1 VARCHAR(255), EmployeeUniqueSegmentStartTime2 VARCHAR(255), EmployeeUniqueSegmentEndTime2 VARCHAR(255) );
Create TABLE TimecardMirrorReportPunch ( PersonNumber VARCHAR(255), ReportTimePeriod VARCHAR(255), EmployeePunchDate VARCHAR(255), PunchElectronicsSource VARCHAR(255), PunchEntry1 VARCHAR(255), PunchExit1 VARCHAR(255), PunchEntry2 VARCHAR(255), PunchExit2 VARCHAR(255), PunchEntry3 VARCHAR(255), PunchExit3 VARCHAR(255), EmployeeScheduleTotalScheduledDurationMins VARCHAR(255), EmployeeScheduleTotalScheduleCodeForDay VARCHAR(255), EmployeePunchTime VARCHAR(255), EmployeePunchType VARCHAR(255), EmployeePunchComment VARCHAR(255), EmployeePunchDateFormat VARCHAR(255), SerialNo VARCHAR(255) );
Cross-reference tables
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
To make a cross-reference table available for integration processes, populate the table with data.
- If more than one row matches a reference value, the first match is the output value.
- If no match is found, the output value can be null, or the integration can produce errors.
BrazilComplianceReports_iPack_v1_Locale_CRT: Allows translation of messages and labels into different languages.
Column name | Description |
---|---|
Parameter Name | Key for which localization is defined. |
Locale Policy |
Locale Policy. You can use an asterisk (*) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top.
|
Message |
Message shown in Additional Details, or value of the label defined in the Run Summary section. |
Description |
The description that is shown in Additional Details. |
-
Localization of integration extensions remains optional, but is supported.
-
The cross-reference table (CRT) holds all messages represented with standard English labels; these apply to all locales when the Locale is set to a wildcard (*).
-
Some or all messages can be translated by adding lines to the table in their preferred translation for specific locales. Messages for the most commonly used Locale Policy should be defined at the top of the CRT.
-
Names of the parameters in the CRT column "Parameter Name" must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the "Parameter Name" with the * Locale Policy, add a new row to the CRT with the appropriate Locale Policy, and then add the localized values in the Message (or Value) and Description CRT columns.
-
Do not enter values in the CRT column "Description" if it is blank.
-
Do not modify placeholders (<>) or the configurable values that are included in the CRT column "Message" (or "Value").
Parameter name | Locale | Message | Description |
---|---|---|---|
Error_BIRTReportRun | Brazilian Portuguese | Relatórios falharam no BIRT. | Relatórios falharam no BIRT. |
Error_CallBackAPIFailed | Brazilian Portuguese | Código de resposta geral malsucedido recebido da API ao executar o retorno de chamada. | Código de resposta geral malsucedido recebido da API ao executar o retorno de chamada. |
Error_CompDate | Brazilian Portuguese | A Data de Início deve ser anterior à Data de Término. | A Data de Início deve ser anterior à Data de Término. |
Error_DigitalSignApiFailed | Brazilian Portuguese | Falha na API de assinatura digital. Localize o relatório não assinado no diretório Archive. | Falha na API de assinatura digital. Localize o relatório não assinado no diretório Archive. |
Error_HyperfindAndLocationSelector | Brazilian Portuguese | HyperfindAndLocation ou EmployeeID devem ser fornecidos. | HyperfindAndLocation ou EmployeeID devem ser fornecidos. |
Error_IntializeDefaultTryCatchError | Brazilian Portuguese | Erro encontrado durante a execução da integração. Consulte Relatório de Processo para obter mais detalhes. | Erro encontrado durante a execução da integração. Consulte Relatório de Processo para obter mais detalhes. |
Error_InvalidDateFormat | Brazilian Portuguese | Configuração de formato de data inválida. | Formato de data incorreto no parâmetro de integração. |
Error_InvalidEmployeeProvided | Brazilian Portuguese | Funcionário inválido fornecido. | Funcionário inválido fornecido. |
Error_PayCodeAttribute | Brazilian Portuguese | Atributo de código de pagamento não configurado corretamente. | Atributo de código de pagamento não configurado corretamente. |
Error_PIS_eSocial_CPF | Brazilian Portuguese | PIS, eSocial e CPF não estão presentes. Pelo menos um desses itens deve estar presente para um funcionário. | PIS, eSocial e CPF não estão presentes. Pelo menos um desses itens deve estar presente para um funcionário. |
Error_ReportingPeriodStartDateEndDate | Brazilian Portuguese | O ReportingPeriod ou StartDate e EndDate devem ser selecionados. | O ReportingPeriod ou StartDate e EndDate devem ser selecionados. |
Error_ReportListNotSelected | Brazilian Portuguese | ReportList deve ser configurado. | Lista de relatórios não configurada. |
Invalid_Employee_Provided | Brazilian Portuguese | ID de funcionário inválido fornecido. | ID de funcionário inválido. |
Label_AEJTotalEmployeesDisqualified | Brazilian Portuguese | AEJ Total de Funcionários Desqualificados | Rótulo de Funcionários Desqualificados Total AEJ. |
Label_AEJTotalEmployeesProcessed | Brazilian Portuguese | AEJ Total de Empregados Processados | Rótulo AEJ Total de Funcionários Processados. |
Label_AFDTotalEmployeesDisqualified | Brazilian Portuguese | Total de funcionários da AFD desqualificados | Total de funcionários da AFD desqualificados |
Label_AFDTotalEmployeesProcessed | Brazilian Portuguese | Total de funcionários da AFD processados | Total de funcionários da AFD processados |
Label_ContractualSchedulesHeader | Brazilian Portuguese | Cronogramas contratuais | Rótulo de cabeçalho de cronogramas contratuais. |
Label_ErrorMessage | Brazilian Portuguese | Mensagem de erro: | Mensagem de erro: |
Label_IntegrationExecutionId | Brazilian Portuguese | ID de execução | Rótulo de ID de execução. |
Label_IntegrationTypeName | Brazilian Portuguese | Tipo de integração | Rótulo do tipo de integração. |
Label_IntegrationTypeValue | Brazilian Portuguese | Exportação | Rótulo que exibe o tipo de integração de importação ou exportação. |
Label_PersonNumber | Brazilian Portuguese | Número da pessoa | Etiqueta do número da pessoa. |
Label_POPBody | Brazilian Portuguese | Encontre o Relatório de Prova de Perfuração em anexo para a duração selecionada. | Corpo do e-mail para o rótulo do relatório de prova de perfuração. |
Label_POPSubject | Brazilian Portuguese | Relatório de prova de punção | Assunto do e-mail para o rótulo do Relatório de Prova de Perfuração. |
Label_POPTotalEmployeesDisqualified | Brazilian Portuguese | Prova Total de Funcionários Desqualificados | Etiqueta de prova total de soco de funcionários desqualificados. |
Label_POPTotalEmployeesProcessed | Brazilian Portuguese | Prova Total de Funcionários de Punch Processados | Rótulo POP total de funcionários processados. |
Label_TimecardHeader | Brazilian Portuguese | Relatório de espelho de cartão de ponto eletrônico | Etiqueta de relatório de espelho de cartão de ponto eletrônico. |
Label_TimecardMirrorReport | Brazilian Portuguese | Relatório de espelho de cartão de ponto | Rótulo para relatório de espelho de cartão de ponto |
Label_TMRTotalEmployeesDisqualified | Brazilian Portuguese | Cartão de ponto total de funcionários desqualificados | Rótulo de desqualificado total de funcionários do cartão de ponto. |
Label_TMRTotalEmployeesProcessed | Brazilian Portuguese | Cartão de ponto Total de funcionários processados | Rótulo Total de funcionários processados do cartão de ponto. |
Label_TotalEmployeeCount | Brazilian Portuguese | Contagem total de funcionários | Rótulo de contagem total de funcionários. |
Label_VerficationMessage | Brazilian Portuguese | Estou totalmente de acordo com as declarações e informações fornecidas acima, representando as atividades (ocorrências) durante o período de referência. | Estou totalmente de acordo com as declarações e informações fornecidas acima, representando as atividades (ocorrências) durante o período de referência. |
Message_AdditionalDetailsWithErrors | Brazilian Portuguese | Integração concluída com erros. | Integração concluída com erros. |
Message_AdditionalDetailsWithoutErrors | Brazilian Portuguese | Integração concluída sem erros. | Integração concluída sem erros. |
Message_CallbackMessagePOP | Brazilian Portuguese | Em andamento. O relatório Proof of Punch está sendo gerado. | Em andamento. O relatório Proof of Punch está sendo gerado. |
Message_CallbackMessageTimecard | Brazilian Portuguese | Em andamento. O relatório Espelho de Cartão de Ponto está sendo gerado. | Em andamento. O relatório Espelho de Cartão de Ponto está sendo gerado. |
Message_CompanyNameBlank | Brazilian Portuguese | O Nome da Empresa deve ser configurado. | O Relatório AEJ não pode ser gerado porque o funcionário não tem uma atribuição de nome de empresa. |
Message_EmailIDBlank | Brazilian Portuguese | Por favor, forneça o ID do e-mail | Por favor, forneça o ID do e-mail |
Message_HyperfindLocationNoEmployeeFound | Brazilian Portuguese | O Hyperfind selecionado não retornou registros de funcionários. | O Hyperfind selecionado não retornou registros de funcionários. |
Message_IncorrectDateFormat | Brazilian Portuguese | Formato de data incorreto. | Formato de data incorreto. |
Message_IntegrationCompleted | Brazilian Portuguese | Integração concluída sem erros. | Integração concluída sem erros. |
Message_IntegrationCompletedWithAdditionalDetails | Brazilian Portuguese | Integração concluída sem erros. Detalhes adicionais, como desqualificações, podem ser acessados usando o botão abaixo. | Integração concluída sem erros. Detalhes adicionais, como desqualificações, podem ser acessados usando o botão abaixo. |
Message_IntegrationFailed | Brazilian Portuguese | Processo concluído com erros de nível de registro. | Processo concluído com erros de nível de registro. |
Message_IntegrationFailedWithAdditionalDetails | Brazilian Portuguese | Processo concluído com erros de nível de registro. Detalhes adicionais, como desqualificações, podem ser acessados usando o botão abaixo. | Processo concluído com erros de nível de registro. Detalhes adicionais, como desqualificações, podem ser acessados usando o botão abaixo. |
Message_PayCodeAttributeBlank | Brazilian Portuguese | Fornecer atributo de código de pagamento para Funcionário | Fornecer atributo de código de pagamento para Funcionário |
Message_PredeterminedPunchesComment | Brazilian Portuguese | DESC | Comentário adicionado aos Pontos Predeterminados no Relatório de Espelho do Cartão de Ponto. |
Message_RepTypeC | Brazilian Portuguese | Rep Tipo C não suportado. | O relatório AFD não pode ser gerado porque o funcionário não tem uma atribuição RepType C. |
Message_TimecardReportDeleteComment | Brazilian Portuguese | Punção incorreta ou duplicada | Comentário adicionado no relatório Espelho do Cartão de Ponto para pontos excluídos do Cartão de Ponto. |
POP_HeaderName | Brazilian Portuguese | Comprovante de registro de tempo do trabalhador | Título de Registro de Tempo do Comprovante de Tempo do Trabalhador. |
Error_BIRTReportRun | * | Reports failed at BIRT. | Reports failed at BIRT. |
Error_CallBackAPIFailed | * | General unsuccessful response code received from API when executing call back. | General unsuccessful response code received from API when executing call back. |
Error_CompDate | * | Start Date must be earlier than End Date. | Start Date must be earlier than End Date. |
Error_DigitalSignApiFailed | * | Digital signature API failed. Please locate the unsigned report in the Archive directory. | Digital signature API failed. Please locate the unsigned report in the Archive directory. |
Error_HyperfindAndLocationSelector | * | HyperfindAndLocation or EmployeeID must be provided. | HyperfindAndLocation or EmployeeID must be provided. |
Error_IntializeDefaultTryCatchError | * | Error encountered during integration run. Please refer to Process Reporting for more details. | Error encountered during integration run. Please refer to Process Reporting for more details. |
Error_InvalidDateFormat | * | Invalid Date Format configuration. | Incorrect Date Format in the Integration Parameter. |
Error_InvalidEmployeeProvided | * | Invalid employee provided. | Invalid employee provided. |
Error_PayCodeAttribute | * | Paycode attribute not configured correctly. | Paycode attribute not configured correctly. |
Error_PIS_eSocial_CPF | * | PIS, eSocial and CPF are not present. At least one of these items must be present for an employee. | PIS, eSocial and CPF are not present. At least one of these items must be present for an employee. |
Error_ReportingPeriodStartDateEndDate | * | Either the ReportingPeriod or StartDate and EndDate must be selected. | Either the ReportingPeriod or StartDate and EndDate must be selected. |
Error_ReportListNotSelected | * | ReportList must be configured. | Report list not configured. |
Invalid_Employee_Provided | * | Invalid Employee ID provided. | Invalid Employee ID. |
Label_AEJTotalEmployeesDisqualified | * | AEJ Total Disqualified Employees | AEJ Total Disqualified Employees label. |
Label_AEJTotalEmployeesProcessed | * | AEJ Total Employees Processed | AEJ Total Employees Processed label. |
Label_AFDTotalEmployeesDisqualified | * | AFD Total Employees Disqualified | AFD Total Employees Disqualified label. |
Label_AFDTotalEmployeesProcessed | * | AFD Total Employees Processed | AFD Total Employees Processed label. |
Label_ContractualSchedulesHeader | * | Contractual Schedules | Contractual schedules heading label. |
Label_ErrorMessage | * | Error Message | Error Message label. |
Label_IntegrationExecutionId | * | Execution ID | Execution ID label. |
Label_IntegrationTypeName | * | Integration type | Integration type label. |
Label_IntegrationTypeValue | * | Export | Label that displays either import or export integration type. |
Label_PersonNumber | * | Person Number | Person Number label. |
Label_POPBody | * | Please find the attached Proof of Punch Report for the selected duration. | Email body for Proof of Punch Report label. |
Label_POPSubject | * | Proof of Punch Report | Email subject for Proof of Punch Report label. |
Label_POPTotalEmployeesDisqualified | * | Total Proof of Punch Disqualified Employees | Total Proof of Punch of Disqualified Employees label. |
Label_POPTotalEmployeesProcessed | * | Total Proof of Punch Employees Processed | Total POP of Employees Processed label. |
Label_TimecardHeader | * | Electronic Timecard Mirror Report | Electronic Timecard Mirror Report label. |
Label_TimecardMirrorReport | * | Timecard Mirror Report | Timecard Mirror Report label. |
Label_TMRTotalEmployeesDisqualified | * | Timecard total Employees Disqualified | Timecard total Employees Disqualified label. |
Label_TMRTotalEmployeesProcessed | * | Timecard Total Employees Processed | Timecard Total Employees Processed label. |
Label_TotalEmployeeCount | * | Total employee count | Total employee count label. |
Label_VerficationMessage | * | I am in complete agreement with the representations and information given above, representing the activities (occurrences) during the reference period. | I am in complete agreement with the representations and information given above, representing the activities (occurrences) during the reference period. |
Message_AdditionalDetailsWithErrors | * | Integration completed with errors. | Integration completed with errors. |
Message_AdditionalDetailsWithoutErrors | * | Integration completed without errors. | Integration completed without errors. |
Message_CallbackMessagePOP | * | In Progress. The Proof of Punch report is generating. | In Progress. The Proof of Punch report is generating. |
Message_CallbackMessageTimecard | * | In Progress. The Timecard Mirror report is generating. | In Progress. The Timecard Mirror report is generating. |
Message_CompanyNameBlank | * | Company Name must be configured. | The AEJ Report cannot be generated because the employee does not have a company name assignment. |
Message_EmailIDBlank | * | Please provide Email ID | Please provide Email ID. |
Message_HyperfindLocationNoEmployeeFound | * | The selected Hyperfind returned no employee records. | The selected Hyperfind returned no employee records. |
Message_IncorrectDateFormat | * | Incorrect Date Format. | Incorrect Date Format. |
Message_IntegrationCompleted | * | Integration completed without errors. | Integration completed without errors. |
Message_IntegrationCompletedWithAdditionalDetails | * | Integration completed without errors. Additional details, such as disqualifications, may be accessible using the button below. | Integration completed without errors. Additional details, such as disqualifications, may be accessible using the button below. |
Message_IntegrationFailed | * | Process completed with record level errors. | Process completed with record level errors. |
Message_IntegrationFailedWithAdditionalDetails | * | Process completed with record level errors. Additional details, such as disqualifications, may be accessible using the button below. | Process completed with record level errors. Additional details, such as disqualifications, may be accessible using the button below. |
Message_PayCodeAttributeBlank | * | Provide paycode attribute for Employee. | Provide paycode attribute for Employee. |
Message_PredeterminedPunchesComment | * | DESC | Comment that is added to Predetermined Punches in the Timecard Mirror Report. |
Message_ReportFailure | * | Report failed with errors. | Report failed with errors. |
Message_RepTypeC | * | Rep Type C not supported. | The AFD report cannot be generated because the employee does not have a RepType C assignment. |
Message_TimecardReportDeleteComment | * | Incorrect or Duplicate Punch | Comment that is added in the Timecard Mirror report for punches deleted from the Timecard. |
POP_HeaderName | * | Proof of Worker's Time Record | Proof of Worker's Time Record heading. |
Install the Brazil Compliance Reports integration
After the integrations are deployed and the connection settings and process properties are configured, install the integrations to make them available for running or scheduling.
-
An integration template is the configured integration that you deploy to an Atom and then install to make available for running or scheduling.
- An installed integration is a single instance of an integration that is based on an integration template. When you install an integration, you can define parameters or set parameters to be defined when the integration is run.
- Select Main Menu
. - Click Tap Create
. - In Integration Name enter a unique name, such as
Brazil Compliance Reports
. - (Optional) Enter a Description.Note: Do not select API Integration.
- In File Access, select Source/Output Download to select a connection.
- In Connection, click tap Internal SFTP.
- (Optional) If the person who runs the integration does not have full access to integrations, select Execute Integration with System Account. This allows the integration access to all APIs in the FAP, and the relevant permissions and data, regardless of the FAP and GDAP of the person who runs the integration.
- (Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.
- (Optional) Configure Email Notifications:
- In Skip Configuration, select None(default) to allow multiple integrations to run at the same time or with the same data without restrictions.Note: Do not select Allow Minute Interval.
- Configure Integration template and parameters:
- Make sure that the generic data access profiles (GDAP) allow access by the people who need to run the installed integration.
Run and test the Brazil Compliance Reports integration
- Select the ingegration:
- Select Main Menu
. - Click Tap Run an Integration
. - Select the BrazilComplianceReports_iPack_v1 integration from the list. Click Tap Select.
- (Optional) Enter a unique Integration Run Name to make it easier to identify the run of the integration. Otherwise, the default name ends with a date and time stamp.
- Select Main Menu
- Set parameters as follows:
- HyperfindAndLocation: Select a Hyperfind query of employees.
- Employee IDs: To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma, but no spaces.
For 3 employees:
13997,15556,20012
- Start Date: Select the report start date.
- End Date: Select the report end date.
- : Select the predefined report duration.
- Report List: Select the report generation list.
- : Select whether to email the Proof of Punch report to the employee.
- Select the following:
- Run Integration : If this is the first time this integration is being run.
- Re-Run: If this integration has been run before, and the status is not In-Progress, you can run the integration again without entering the parameter values again. Click Tap Yes to continue, or No to not run the integration and to return to the parameter settings.
- Wait for the confirmation that the integration completed or failed. Close the panel.
- Click Tap Refresh
. - To see details, select the integration run. Select Run Summary.
- Status indicators
In-Progress: The run of this integration has not yet completed. Completed: The integration ran successfully without errors. Scheduled: This integration is scheduled to run later or repeatedly. - (Grayed out) Scheduled but Deleted: This integration is scheduled to run, but the integration template has been deleted. When it runs, it will generate an error. To prevent this error, delete the scheduled integration run.
Completed with Errors: The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops. Failed: The integration run has errors or could not run. To troubleshoot and resolve errors, do the following:
Check the Run Summary for details.
- To troubleshoot all types of errors, or if the Run Summary shows a large number of errors, click tap Go to Additional Details (if available), or click tap the Source File to open and examine the input source file.
- (Only for import integrations) To troubleshoot and resubmit integrations that have transactional or data errors, click tap Go to Transaction Assistant.
- To check the results in more detail:Note: You can schedule integrations and integration sets to run once later or at a recurring frequency. See the Schedule Integrations topic.
Configure the Brazil Compliance Reports
- Customize the report labels:
- Localize the report strings:
- Configure the report data object (RDO):
- Deploy the Brazil Compliance Reports:Note: The BIRT reports must be redeployed every time changes are made to existing report objects. Re-deployment is not required for integration process changes.
- Approve the Brazil Compliance Reports:
- Configure access to the Brazil Compliance Reports:
Add each Brazil Compliance Report to the Report Data Access Profile assigned to individuals who run the report. See the Report Data Access Profiles topic.
Report specifications
AEJ Report (Arquivo Eletronico de Jornada)
Report file properties
- File name:
AEJ_<Company Name>_<Report Start Date>_<Report End Date>
- File extension:
.TXT
and.P7S
- Delimiter: Pipe (
|
) - Header row: Yes
- Footer row: Yes
- Target directory:
<OutboundDirectory>
Report format
-
Text format, encoded in the ASCII standard of the ISO 8859-1 standard.
-
Enter each line corresponding to a record, ending with characters 13 and 10, respectively, from the ASCII table of the ISO 8859-1 standard.
- This can be either ^J = Line feed/new line or ^M = carriage return.
-
Each row of the digital file will represent a record which must contain the fields that are in the layout defined for the record.
-
At the end of each field, with the exception of the last field of the record, the delimiter character "|" (pipe or vertical bar) must be inserted.
-
Example: 02|123456789|1|99999999999999999
-
-
For variable length fields, only the actual data will be used to fill the field followed by the delimiter. If there is no data, only the delimiter will be displayed. Variable fields will be right-justified and filled with blanks.
-
For fixed length fields, the required number of characters must be entered. If the number of characters in a field does not match the number of required characters based on the formatting requirements described in the following section, the system will fill those blank spaces with either a 0 for numeric fields or a space for alphanumeric fields. Refer to the requirements for each field in Record Types. Fixed fields will be left justified filled with "0". If there is no data in the system for that field, the system will add 0s for numeric type fields and spaces for alphanumeric fields.
-
For both variable and fixed length fields, if the number of characters in the actual UKG Pro Workforce Management( UKG Pro WFM) data exceeds the maximum number of characters, for example, 10 characters, the system truncates the remaining characters from the UKG Pro WFM data and displays the first 10 characters.
-
In AEJ, if the PIS or CPF or ESOCIAL are not present for the employee, then a report will be created with NO DATA FOUND FOR EXPORTING AEJ REPORT.txt. Any one of these items should be present for an employee.
-
In AEJ also, as in previous reports AFDT, ACJEF if there is an entry in BRCEMPLOYEE, then the records will be visible in the report.
-
Information about manual punches - If an employee's location has changed within the date range chosen for running the report: For example, if the user selects a report for a duration of six months, if the first three months the employee belongs to location/labor account A and for the last three months belongs to location/labor acct B (mapped to company b), the system creates two separate files: one for each company. In addition, the Company/Person audit will be visible based on the date range for the respective files.
Record types
The AEJ file format consists of ten record types, each with the following fields defined. There may be multiple records for some of the record types, depending on what date range is selected for the report.
If multiple employees are selected for the report, the report will include all punch records for one employee followed by all records for another employee. For schedule records, there will just be a list of unique schedules in the system, regardless of the employee.
There will be one AEJ file produced for each run.
Example of Record Type 01 report entry
01|1|13783221000478 |00000000000000|000000000000|COMPANY NAME S.A|2022|09-01|2022-09-30|2022-10-04T02:50:00-0400|001
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | tipoReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "01". | Hard coded. |
2 | tpIdtEmpregador | 003-003 | 1 | (N) Fixed | Employee identifier type: "1"= CNPJ "2"= CPF | Company configuration in UKG Pro WFM. |
3 | idtEmpregador | 004-017 | 14 | (N) Variable | CNPJ or CPF of the employer. | Company configuration in UKG Pro WFM. |
4 | caepf | 018-031 | 14 | (N) Fixed | CAEPF Economic Activity registration of the Individual), if any (N/A to UKG). | Company configuration in UKG Pro WFM. |
5 | cno | 032-043 | 12 | (N) Fixed | CNO (National Registry of Labor), if any (N/A to UKG). | Company configuration in UKG Pro WFM. |
6 | razaoOuNome | 044-193 | 150 | (A) Variable | Company name or name of employer. | Company configuration in UKG Pro WFM. |
7 | dataInicialAej | 194-203 | 10 | (D) Fixed | Start date of records in the AEJ report. | Start date selected by the user running the report. |
8 | dataFinalAej | 204-213 | 10 | (D) Fixed | The end date of the records is in the AEJ report. | End date selected by the user running the report. |
9 | dataHoraGerAej | 214-237 | 24 | (DH) Fixed | AEJ Report runtime (timestamp when the report was run). | Timestamp when the report was run. |
10 | versioned | 238-240 | 3 | (A) Fixed | AEJ layout version. Fill in with "001". | Hard coded with "001". |
Example of Record Type 02 report entry
02|123456789|1|01020304050607080
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | Retype | 001-002 | 2 | (N) Fixed | Record type. Fill in with "02". | Hard coded. |
2 | idRepAej | 003-011 | 9 | (N) Variable | REP identifier in AEJ report. | Sequential record number associated with the record. This value is auto generated at run time. |
3 | tpRep | 012-012 | 1 | (N) Fixed | REP Type: "1"=REP-C "2"=REP-A "3"=REP-P | Person record. |
4 | nrRep | 013-029 | 17 | (N) Fixed | Manufacturing number or REP identifier, if there is any REP associated with the marking. Mandatory field when the source Marc field is equal to "O". Fill in with: - Manufacturing number, in the case of REP-C; - Process number of the last collective agreement or agreement deposited, in the case of REP-A (if none, fill with "99999999999999999"); - INPI | REP manufacturing number where the record was made. |
Record Type 02 entries are not being generated for employees who are REP-C type and have manual punches or punches from another device. However, if an employee is REP-C and the punch is from a device whether it is certified or not, record type 02 is created.
If the employee is a REP-A employee and an Union Agreement Number is not assigned, a default value of "99999999999999999" will be used.
Example of Record Type 03 report entry
03|0102030405060708091|01020304050|John Doe
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | typeReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "03". | Hard coded. |
2 | idtVinculoAej | 003-021 | 19 | (N) Variable | Linked identifier in AEJ report. | Sequential record number associated with the record. This value is auto generated at run time. |
3 | CPF | 022-032 | 11 | (N) Fixed | Employee's CPF if any. | Person record. |
4 | nameEmp | 033-182 | 150 | (A) Variable | Employee's name. | Person record. |
Example of Record Type 04 report entry
04|Schedule Shift Code |1250 |0800|1200|1300|1600
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | tipoReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "04". | Hard coded. |
2 | codHorContratual | 003-032 | 30 | (A) Variable | Schedule shift code in AEJ report. | Sequential number associated with the record in the report. This value is auto generated at run time. |
3 | durjornada | 033-044 | 12 | (N) Variable | Schedule duration, converted to minutes. | Calculate: Sum the difference between hrEntrada01 and hrSaida01 with the difference between hrEntrada02 and hrSaida02 and convert to minutes. Duration does not include breaks, only scheduled work time. |
4 | hrEntrada01 | 045-048 | 4 | (H) Fixed | Schedule Start Time (segment 1). | Schedule Start Time (segment 1). |
5 | hrSaida01 | 049-052 | 4 | (H) Fixed | Schedule End Time (segment 1). | Schedule End Time (segment 1). |
6 | hrEntrada02 | 053-056 | 4 | (H) Fixed | Schedule Start Time (segment 2). | Schedule Start Time (segment 2). |
7 | hrSaida02 | 057-060 | 4 | (H) Fixed | Schedule End Time (segment 2). | Schedule End Time (segment 2). |
8 | hrEntrada03 | 061-064 | 4 | (H) Fixed | Schedule Start Time (segment n). | Schedule Start Time (segment n) as needed. |
9 | hrSaida03 | 065-068 | 4 | (H) Fixed | Schedule End Time (segment n). | Schedule End Time (segment n) as needed. |
Example of Record Type 05 report entry
05|123456789|123456789|E|001|O|123456789012345678901234567890|Comment
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | tipoReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "05". | Hard coded. |
2 | idtVinculoAej | 003-011 | 9 | (N) Variable | Identifier of the link in the AEJ report, reported in Record type "03". | Sequential number associated with the record in the report. This value is auto generated at run time. |
3 | dataHoraMarc | 012-035 | 24 | (DH) Fixed | Date and Time of the Punch. | Date and time of the punch. |
4 | idRepAej | 036-044 | 9 | (A) Variable | REP identifier in the AEJ, reported in Record type "02". | Acquired from Record Type 02 Field 02. Represents the employee the punches are related to. This value is auto generated at run time. |
5 | tpMarc | 045-045 | 1 | (N) Fixed | Punch type: "E" = In Punch "S" = Out Punch "D" = Deleted Punch | Punch type retrieved from the database. |
6 | seqEntSaida | 046-048 | 3 | (N) Fixed | Sequential number of input/output pair. | Number of the paired punches. This value is auto generated at run time. In and Out punches without break punches = 001. In and Out punches with break punches = 002. Deleted punches = 000. |
7 | fonteMarc | 049-049 | 1 | (A) Fixed | Marking source: "I", "P", or "T". | Marking source: "I " = Manual in Timecard. "P"= pre-determined Punch. "T " = Punch from other sources (Genies, API's, Mobile App, Timestamp, etc.). |
8 | codHorContratual | 050-079 | 30 | (A) Variable | Contractual time code in the AEJ (reported in record type "04"). Mandatory field when the punch is an Inpunch, that is whenever tpMarc = "E" and seqEntOutput = "1" | Relates to the schedule record identified in Record Type 04 Field 02. |
9 | motivo | 080-222 | 150 | (A) Variable | Reason for deleting a punch, or inserting a new punch. Mandatory field when tpMarc = "D" or sourceMarc = "I". | For punches that originate from the Timecard (marked with "I" or "D"), if no comment was added to the punch, then the comment is populated from Application Setup -> System Configuration -> System Settings -> Timekeeping -> site.timekeeping.brc.exportFile.defaultReason. For Predetermined Punches (marked with "P"), the comment is taken from the Message_PredeterminedPunchesComment parameter in the Locale CRT. For Offline Punches (device or imported punches), the comment is not populated. |
- Pre-determined Punches: Pre-determined punches represent punches that auto-meal deductions generate, but are not true punches in the Timecard. Example: An employee has an auto-meal deduct of 1:00. The employee punches from 8:00AM-5:00PM, the pre-determined punches could be 12:00PM and 1:00PM, depending on the configuration.
- Sequence Number Increment: Pre-determined punches represent "ADDED" and "MISSING" segments along with auto-meal deductions, "DEDUCT"; these are not true punches in the Timecard.
Punch source | Marking source |
---|---|
Add punch by InTouch Device | T |
Add punch by Timestamp | T |
Add punch by Genies | T |
Add punch in My Timecard | I |
Add punch in Timecard | I |
Add punch via UKG Mobile App | T |
Add punch via single link for timecard | I |
Employees add punch via API | T |
Managers add punch via API for an employee | T |
Pre-Determined Punches | P |
Example of Record Type 06 report entry
06|123456789|Enrollment No 111222
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | regType | 001-002 | 2 | (N) Fixed | Record type. Fill in with "06". | Hard coded. |
2 | idtVinculoAej | 003-011 | 9 | (N) Variable | Identifier of the link in the AEJ, reported in Record type “3”. | Record Type 03 Field 02. Identifies the employee being reported on. |
3 | matEsocial | 012-041 | 30 | (A) Variable | Enrollment number in Esocial. | Person record. |
Example of Record Type 07 report entry
07|123456789|1|2022-10-01|1050 |2
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | tipoReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "07". | Hard coded. |
2 | idtVinculoAej | 003-011 | 1 to 9 | (N) Variable | Identifier of the link in the AEJ, reported in Record type “3”. | Record Type 03 Field 02. Identifies the employee being reported on. |
3 | tipoAusenOuComp | 012-012 | 1 | (N) Fixed | Code with type of absence or compensation: "1" = Remunerated Weekly Rest (DSR) "2" = unexcused absence "3" = movement in the hour bank "4" = holiday compensatory time off. | Obtained from the Pay Code Attribute Definition configuration. Based on which Export Key the pay code falls into. |
4 | data | 013-022 | 10 | (D) Fixed | Date of absence or compensation. | Date of the paycode edit. |
5 | qtMinutos | 023-034 | 12 | (N) Variable | The amount mandatory if typoAusenOrComp is equal to "3". | The total amount of minutes from the pay codes for each Export Key. Note:
Day-type paycodes are allowed for the Absence Export Key. The total amount must be defined in minutes. The number of minutes that represent a day is defined in Application Setup -> System Configuration -> System Settings -> Timekeeping -> site.timekeeping.brc.exportFile.aej.day.paycode.Duration; the default is 480. The total amount must be in minutes. there is a System Setting site.brc.exportFile.aej.day.paycode.Duration allows definition that determines the number of minutes that represent a day. The default is 480. |
6 | tipoMovBH | 035-035 | 1 | (N) Variable | Type of movement in the hours bank: "1" = inclusion of hours in the time bank (credit) "2" = compensation of hours from the bank of hours. (debit). Mandatory field if typoAusenOrComp = "3". | If the Export Key (Field 03 above) is equal to "3" then we need to determine if it is BOH Credit (set = "1") or BOH Debit (set = "2"). All other Export Keys should be assigned a blank entry. |
Example of Record Type 08 report entry
08|Point Record Handling |1|12345678901234|Name of PTRP |Email_ Addres.com
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | tipoReg | 001-002 | 2 | (N) Fixed | Record type. Fill in with "08". | Hard coded. |
2 | nameProg | 003-052 | 50 | (A) Variable | PTRP name (UKG application Name.) | Application Setup -> System Configuration ->System Settings ->Timekeeping -> site.timekeeping.brc.exportFile.PRTP.name |
3 | versaoProg | 053-060 | 8 | (A) Variable | PTRP name (UKG application Version.) | Application Setup -> System Configuration ->System Settings ->Timekeeping -> site.timekeeping.brc.exportFile.PRTP.version |
4 | tpIdtDesenv | 061-061 | 1 | (N) Fixed | PTRP Developer Identifier Type: "1" = CNPJ "2" = CPF | Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.PTRP.identifier |
5 | raaidtDesenv | 062-075 | 14 | (N) Variable | CNPJ or CPF of the PTRP developer. | Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.BraziltaxId |
6 | razaoNomeDesenv | 076-225 | 159 | (A) Variable | Name of the PTRP developer. |
Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.PTRP.developer |
7 | emailDesenv | 226-275 | 50 | (A) Variable | PTRP developer email. | Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.PTRPdeveloperEmail Note: This needs to be an email address that the auditor can contact if there is an issue. A group email address is recommended. We recommend that this be the support team that resides in Brazil. |
Example of Record Type 09 report entry
99|10 |20 |20 |10 |5 |12 |15 |5
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | regType | 001-002 | 2 | (N) Fixed | Record type. Fill in with "99". | Hard coded. |
2 | qtRecordsType01 | 003-011 | 9 | (N) Variable | Number of records of type "01". | Total number of records for Record Type 01. |
3 | qtRecordsType02 | 012-020 | 9 | (N) Variable | Number of records of type "02". | Total number of records for Record Type 02. |
4 | qtRecordsType03 | 021-029 | 9 | (N) Variable | Number of records of type "03". | Total number of records for Record Type 03. |
5 | qtRecordsType04 | 030-038 | 9 | (N) Variable | Number of records of type "04". | Total number of records for Record Type 04. |
6 | qtRecordsType05 | 039-047 | 9 | (N) Variable | Number of records of type "05". | Total number of records for Record Type 05. |
7 | qtRecordsType06 | 048-056 | 9 | (N) Variable | Number of records of type "06". | Total number of records for Record Type 06. |
8 | qtRecordsType07 | 057-065 | 9 | (N) Variable | Number of records of type "07". | Total number of records for Record Type 07. |
9 | qtRecordsType08 | 066-074 | 9 | (N) Variable | Number of records of type "08". | Total number of records for Record Type 08. |
Example of Digital Signature report entry
ASSINATURA_DIGITAL_EM_ARQUIVO_P7S
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | digitalsignature | 001-100 | 100 | (A) Fixed | Default with "ASSINATURA_DIGITAL_EM_ARQUIVO_P7S" and complete with " "(blank) on the left until 100 characters. | SETUP -> System Settings -> Brazilian Compliance > site.brc.exportFile.DigitalSignature |
Sample Digital Signature

AFD Report (Arquivo Fonte de Dados)
Report file properties
-
File name:
AFD_Identifier_Employer_REP_Type
-
File extension:
.TXT
-
Delimiter:
-
Header row:
-
Footer row:
-
Target directory:
<OutboundDirectory>
Report format
-
All Rep-C type employees are disqualified; the AFD report is not generated for these employees.
-
Each record is encoded with Cyclic Redundancy code.
-
Text format, encoded in the ASCII standard of the ISO 8859-1 standard.
-
Enter each line corresponding to a record, ending with characters 13 and 10, respectively, from the ASCII table of the ISO 8859-1 standard.
-
This can be either ^J = Line feed/new line or ^M = carriage return.
-
-
Each row of the digital file will represent a record which must contain the fields that are in the layout defined for the record.
-
There is no delimiter for the AFD file.
-
Example: 02123456789199999999999999999
-
-
For fixed length fields, the required number of characters must be entered. Fill characters ('0') for numeric and spaces (' ') for alphanumeric will be applied if the value does not match the required amount. If there is no data, only the '0' for numeric and spaces for alphanumeric will be displayed. Fixed fields are left justified.
-
If the number of characters in the actual UKG Pro Workforce Management( UKG Pro WFM) data exceeds the maximum number of characters, for example, 10 characters, the system truncates the remaining characters from the UKG Pro WFM data and displays the first 10 characters.
-
Information about manual punches - If an employee's location has changed within the date range chosen for running the report: For example, if the user selects a report for a duration of six months, if the first three months the employee belongs to location/labor account A and for the last three months belongs to location/labor acct B (mapped to company b) , the system creates two separate files: one for each company. In addition, the Company/Person audit will be visible based on the date range for the respective files.
AFD file creation
There will be one file created for each of the following:
-
Unique Union Agreement Number assigned to employees selected for the report.
-
All REP-P type employees.
-
Each Company Configuration that was changed.
-
If an employee has the same company and different REPs (REP A and REP P) assigned for the date range while running a report: For example, if the user selects a report for a duration of six months, if the first three months the employee is classified as REP A and is classified as REP P for the last three months, the system creates two separate files: one for REP A and another for REP P. In addition, the Company/Person audit will be visible based on the date range for the respective files.
-
Examples of file outputs:
-
AFD_12345566888899110_12345678912345_REP_A.txt
-
AFD_12345566888899110_12345612121212_REP_P.txt
-
-
-
In the AFD file, as in previous reports, if there is an entry in BRCEMPLOYEE in the AFDT and ACJEF file, then the records will be visible in the report.
-
In AFD, if CPF is not present for the employee, then the report will be created with a file name of NO DATA FOUND FOR EXPORTING AFD REPORT.txt.
Auditing
-
The system can generate an audit report for a person and a company.
-
When a company profile is added, modified and deleted, it will be present in AFD record 2.
-
When a person name of CPF is added, modified and deleted in the personality, it will be present in AFD record 5.
Record types
The AFD file format consists of eight record types, each with the following fields defined. There may be multiple records for some of the record types, depending on what date range is selected for the report.
Example of Record Type 01 report entry
000000001121234567890123422233344455567Company Name 123456789012345672022-10-012022-10-032022-10-04T02:50:00- 04000031123456789012343012345453456789876543234567892324
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | "000000000". | Hard coded. |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "1". | Hard coded. |
3 | tpIdtEmpregador | 011-011 | 1 | (N) Fixed | Employer identifier type: "1" = CNPJ "2" = CPF | Type of employer identifier, "1" for CNPJ or "2" for CPF. Refer to Setup > Brazil Device Setup > Companies |
4 | idtEmpregador | 012-025 | 14 | (N) Fixed | CNPJ or CPF of the employer. | Setup > Brazil Device Setup > Companies > Company Identifier Type. |
5 | cno | 026-039 | 14 | (N) Fixed | CNO (National Registry of Works) or CAEPF (Register of Economic Activity of Individuals), if any. | Setup > Brazil Device Setup > Companies > CNO. |
6 | razaoOuNome | 040-189 | 150 | (A) Fixed | Company name or name of employer. | Setup > Brazil Device Setup > Companies > Company Name. |
7 | nrRep | 190-206 | 17 | (N) Fixed | Fill in with: - Manufacturing number, in the case of REP-C; - Process number of the last collective agreement or agreement. | REP-C is not applicable to UKG for this report. REP-P is retrieved from System Settings -> Brazilian Compliance: site.brc.exportfile.INPInumber. REP-A is retrieved from Person Record > Brazil Union Agreement Number |
8 | dataInicialAfd | 207-216 | 10 | (D) Fixed | Start date of records in the file. | Start date selected by the user running the report. |
9 | dataFinalAfd | 217-226 | 10 | (D) Fixed | End date of records in the file. | End date selected by the user running the report. |
10 | dataHoraGerAfd | 227-250 | 24 | (DH) Fixed | Date and time of file generation. | Timestamp when the report was run. |
11 | versaoAfd | 251-253 | 3 | (N) Fixed | AFD layout version. Fill in with "003". | Hard coded with "003". |
12 | idRepAfd | 254-254 | 1 | (N) Fixed | REP manufacturer or developer identifier type: "1" = CNPJ "2" = CPF | Setup > Brazil Device Setup > Companies > Company Identifier Type. |
13 | idFabricante | 255-268 | 14 | (N) Fixed | CNPJ or CPF of the REP manufacturer or developer. | Setup > System Settings > Brazilian Compliance > site.brc.exportFile.brazilTAxID |
14 | modeloRep | 269-298 | 30 | (A) Fixed | Model, in the case of REP-C. | This report does not process REP-C Types so this field can be filled with blanks. |
15 | crc16 | 299-302 | 4 | (A) Fixed | CRC-16 from the registry. | Calculated using all fields of this Record Type and the CRC (Cyclic Redundancy Check) calculation tool. |
Example of Record Type 02 report entry
00000000222022-10-04T02:50:00- 04002323234567654321234567898765456545676543231Company Name Address of Employer 4444
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR | Sequential from previous record, starting at "1". |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "2". | Hard coded. |
3 | dataHoraGerAfd | 011-034 | 24 | (DH) Fixed | Record recording date and time. | Modifications made to the Setup > Brazil Device Setup > Companies > Company Identifier |
4 | idtResponsavel | 035-048 | 14 | (N) Fixed | CPF of the person responsible for the inclusion or change. | Person Record > Additional Information > CPF of the person responsible for making the change. |
5 | tpIdtEmpregador | 049-049 | 1 | (N) Fixed | Employer identifier type: "1" = CNPJ "2" = CPF | Type of employer identifier, "1" for CNPJ or "2" for CPF. |
6 | idtEmpregador | 050-063 | 14 | (N) Fixed | CNPJ or CPF of the employer. | This is the "Company "Identifier" field from the "Company" page. |
7 | cno | 064-077 | 14 | (N) Fixed | CNO (National Registry of Works) or CAEPF (Register of Economic Activity of Individuals), if any. | New field on Company page labeled 'CNO". |
8 | razaoOuNome | 078-227 | 150 | (A) Fixed | Company name or name of employer. | This is the "Company "Name" field from the "Company" page. |
9 | localPrestacao | 228-327 | 100 | (A) Fixed | Place of provision of services. | Address of the service provider. System Settings > Brazilian Compliance > site.brc.exportFile.afd.ServiceAddress |
10 | crc16 | 328-331 | 4 | (A) Fixed | CRC-16 from the registry. | Calculated using all fields of this Record Type and the CRC calculation tool. |
Example of Record Type 03 report entry
00000000332022-10-04T02:50:00-04002323221234565555
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR | Sequential from previous record, starting at "1". |
2 | tipoReg | 010-010 | 1 | (A) Fixed | Record type. Fill in with "3". | Hard coded. |
3 | dataHoraMarc | 011-034 | 24 | (DH) Fixed | Date and time of the clocking. | Date and time of the punch. One record for each punch. |
4 | cpf | 035-046 | 12 | (N) Fixed | Employee CPF. | “Additional Information” field in the Person Record labeled “CPF”. |
5 | crc16 | 047-050 | 4 | (A) Fixed | CRC-16 from the registry. | Calculated using all fields of this Record Type and the CRC calculation tool. |
Record Type 03 is generated only for REP-A employees if they have punches that fall within the dates selected by the user running the report.
If there are no punches for the employee, the record for the employee is omitted.
Example of Record Type 04 report entry
00000000442022-10-04T02:50:00-04002022-10-04T02:50:00-0400334455456785555
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR | Sequential from previous record. For certified clocks only, not needed for UKG solution. |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "04". | Hard coded. For certified clocks only, not needed for UKG solution. |
3 | dataHoraAntesAjuste | 011-034 | 24 | (DH) Fixed | Date and time before adjustment. | The date and time any modification was made to an un-certified clock setting, such as a timezone setting. For certified clocks only, not needed for UKG solution. |
4 | dataHoraDepoisAjuste | 035-058 | 24 | (DH) Fixed | Adjusted date and time. | Date and time of final punch. For certified clocks only, not needed for UKG solution. |
5 | cpfResponsavel | 059-069 | 11 | (N) Fixed | CPF of the person responsible for the change. | This is related to certified and un-certified clocks and UKG is not supplying either, so no information is being provided here. For certified clocks only, not needed for UKG solution. |
6 | crc16 | 070-073 | 4 | (A) Fixed | CRC-16 from the registry. | Calculated using all fields of this Record Type and the CRC calculation tool.For certified clocks only, not needed for UKG solution. |
Example of Record Type 05 report entry
00000000552022-10-04T02:50:00-0400A234543456789Employers Name 0000434534567656666
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR | Sequential from previous record, starting with "1". |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "5". | Hard coded. |
3 | dataHoraGravacaoAfd | 011-034 | 24 | (DH) Fixed | Record recording date and time. | Date and time there was a modification to the employee's Name or CPF. |
4 | tpMarc | 035-035 | 1 | (A) Fixed | Operation type: "I" = inclusion "A" = update "E" = exclusion | Type of user action on the change. |
5 | cpf | 036-047 | 12 | (N) Fixed | Employee CPF. | "Additional Information" field in the Person Record labeled "CPF". |
6 | nameEmp | 048-099 | 52 | (A) Fixed | Employer's name. | "Company "Name" field from the "Company" page. |
7 | demaisDados | 100-103 | 4 | (A) Fixed | Additional employee identification data. | This field should be fulfilled with additional employee identification, if required.For UKG, we will be using the CPF field as primary key, so, this field can be blank. |
8 | cpfResponsavel | 104-114 | 11 | (N) Fixed | CPF of the person responsible for the change. | Combination of Audit Trail and "Additional Information" field in the Person Record labeled "CPF". |
9 | crc16 | 115-118 | 4 | (A) Fixed | CRC-16 from the registry. | CRC-16 from the registry. Calculated using all fields of this Record Type and the CRC calculation tool. |
Example of Record Type 06 report entry
00000000662022-10-04T02:50:00-040001
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR | Sequential from previous record. For certified clocks only, not needed for UKG solution. |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "06". | For certified clocks only, not needed for UKG solution. |
3 | dataHoraGravacaoAfd | 011-034 | 24 | (DH) Fixed | Record recording date and time. | For certified clocks only, not needed for UKG solution. |
4 | tpEvento | 035-036 | 2 | (N) Fixed | Event type: "01": opening of the REP due to maintenance or violation (only for REP-C); "02": energy return (REP-C or REP-P); "03": introduction of an external memory device in the Fiscal Door (only for REP-C); "04": removal of external memory device in the Fiscal Door (only for REP-C); "05": issuance of the Instant List of Appointments (only for REP-C); "06": printing error (only for REP-C); "07": service availability (only for REP-P); "08": service unavailability (only for REP-P). | For certified clocks only, not needed for UKG solution. |
Example of Record Type 07 report entry
00000000772022-10-04T02:50:00-04003433454345672022-10-04T02:50:00- 040001100000000772022-10-04T02:50:00-04003433454345672022-10- 04T02:50:00-0400011
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | NSR. | Sequential from previous record. |
2 | tipoReg | 010-010 | 1 | (N) Fixed | Record type. Fill in with "7". | Hard coded. Only for REP-P transactions. |
3 | dataHoraMarc | 011-034 | 24 | (DH) Fixed | Date and time of the clocking/punch. | Date and time of the punch. Only for REP-P transactions. |
4 | cpf | 035-046 | 12 | (N) Fixed | Employee CPF. | "Additional Information" field in the Person Record labeled "CPF". Only for REP-P transactions. |
5 | dataHoraGravacaoAfd | 047-070 | 24 | (DH) Fixed | Record recording date and time. | Date and time the punch was written to the database. Only for REP-P transactions. |
6 | idMarc | 071-072 | 2 | (N) Fixed | Marking collector identifier: "01": application mobile; "02":browser (internet browser); "03": desktop application; "04": electronic device; "05": other electronic device not specified above. | Identification as to where the punch came from. Only for REP-P transactions. |
7 | tpMarc | 073-073 | 1 | (N) Fixed | Inform "0" for online marking or "1" for offline marking. | If field #3 and field #5 are the same (within the tolerance) then it is considered online, otherwise offline. Two new System Settings have been added to control the tolerances System Settings > Brazilian Compliance > site.brc.exportFile.afd .DefaultTolerance site.brc.exportFile.afd .ClockTolerance. Only for REP-P transactions. |
8 | codHash | 074- 137 | 64 | (A) Fixed | Hashcode | Combination of all fields in this record and the hash code from the previous record (if any). |
Example of Record Type 09 report entry
0000000080000000010000000010000000010000000010000000010000000019
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | nsr | 001-009 | 9 | (N) Fixed | "999999999". | Sequential from previous record. |
2 | qtRegistrosTipo02 | 010-018 | 9 | (N) Fixed | Number of type "2" records in the file. | Total number of records for Record Type 02. |
3 | qtRegistrosTipo03 | 019-027 | 9 | (N) Fixed | Number of type "3" records in the file. | Total number of records for Record Type 03. |
4 | qtRegistrosTipo04 | 028-036 | 9 | (N) Fixed | Number of type "4" records in the file. | Total number of records for Record Type 04. |
5 | qtRegistrosTipo05 | 037-045 | 9 | (N) Fixed | Number of type "5" records in the file. | Total number of records for Record Type 05. |
6 | qtRegistrosTipo06 | 046-054 | 9 | (N) Fixed | Number of type "6" records in the file. | Total number of records for Record Type 06. |
7 | qtRegistrosTipo07 | 055-063 | 9 | (N) Fixed | Number of type "7" records in the file. | Total number of records for Record Type 07. |
8 | tipoReg | 064-064 | 1 | (N) Fixed | Record type. Fill in with "9". | Hard coded. |
Example of Digital Signature report entry
ASSINATURA_DIGITAL_EM_ARQUIVO_P7S
Field number | Field name | Position | Field size | Field type | Data content | Source |
---|---|---|---|---|---|---|
1 | digitalsignature | 001-100 | 100 | (A) Fixed | Default with "ASSINATURA_DIGITAL_EM_ARQUIVO_P7S" and complete with " "(blank) on the left until 100 characters. | SETUP -> System Settings -> Brazilian Compliance > site.brc.exportFile.DigitalSignature |
Sample Digital Signature

Proof of Punch Report
Report file properties
-
File name:
PUNCH_<EmployeeID>_<StartDate>_<EndDate >.pdf
-
File extension:
.PDF
-
Delimiter:
-
Header row: No
-
Footer row: No
-
Target directory:
<OutboundDirectory>
Report format
- When the report is requested for multiple employees, the report should contain an electronic digital signature file for each employee.
-
Required punch details are retrieved from the Timecard, then records are created for each employee.
-
Deleted punches are not visible in the Proof of Punch Report; the report contains only the punches that are marked as undeleted.
Report details
Label name | Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|---|
None | Name of Report | 40 | Hard coded, left justified. | "Proof of Worker's Time Record". |
NSR: | NSR | 9 | This is a unique number generated for each punch, per device. UKG is considered one device, and each clock is one device. | NSR ID passed by devices for punches will be stored in the database but Punch though UKG Pro WFM application, no NSR ID will stored or created. Instead, reports are supposed to use Punch ID in that case as that is also unique across UKG Pro WFM. |
Employer: | Employer | 150 | Name of the Company associated with the employee, for the day of the punch. | Setup > Brazil Device Setup > Companies > Company Name. |
Employer xxx: | Employer CNPJ or CPF | 1 | Either the CNPJ or CPF of the Company, associated with the employee on the day of the punch. Only one can be selected. | Setup > Brazil Device Setup > Companies > Company Identifier Type. 1 = CNPJ 2 = CPF |
Employer xxx: | Employer Identifier | 24 | Company Identifier associated with the employee, on the day of the punch. | Setup > Brazil Device Setup > Companies > Company Identifier |
CEI/CAEPF/CNO: | CEI | CEI configured for the Company, associated with the employee, on the day of the punch. | Setup > Brazil Device Setup > Companies > CEI | |
CEI/CAEPF/CNO: | CAEPF | 14 | CAEPF configured for the Company, associated with the employee, on the day of the punch. | Setup > Brazil Device Setup > Companies > CAEPF. |
CEI/CAEPF/CNO: | CNO | 12 | CNO configured for the Company, associated with the employee, on the day of the punch. | Setup > Brazil Device Setup > Companies > CNO. |
Location: | Employer Address | 100 | Location configured for the Company, associated with the employee, on the day of the punch. | Setup > Brazil Device Setup > Companies > Location. |
Employee: | Employee Name | 150 | Employee Name associated with the punch information being displayed. | Employee's full name (first name + space + last name). If the employee's name exceeds 150 characters then truncate. |
Employee CPF: | Employee CPF | 14 | Employee CPF associated with the punch information being displayed. | Person Record > Additional Information > CPF of the employee. |
Punch Datetime: | Punch | 16 | Punch date and time being reported on. | Date and time report was run using MM/DD/YYYY HH:MM format. Date and Time should be that of the local/language being used. |
INPI or Model #: | Punch identifier | 17 | INPI used for both REP-A and Rep-P punches. Model number of the Device for REP-C punches. | INPI = System Settings (site.brc.exportFIle.INPInumber), and Model number of the Device for REP-C punches. Device = Name of the device. If not stored with the punch, could be gotten from the Device Configuration. |
Punch Source: | Source of the punch | 15 | Where the punch originated. | Timecard, Timestamp, Clock, Mobile, Group Edits, API or Other. |
Hash: | Hash code for the punch | Hash code (SHA-256) of the punch. Exclusively for REP-A and REP-P employees. | The Hash Code is created for a combination of three fields NSR, Punch Date Time, Employee CPF. | |
Digital Signature: | Digital Signature | 100 | Non electronic Digital Signature. | The default digital signature in Setup -> System Settings > Brazilian Compliance > site.brc.exportFile.DigitalSignature will be used in this assignment. |
Report Run Datetime: | Run Date | 16 | Date and time report was run on. | Date and time report was run using MM/DD/YYYY HH:MM format. Date and Time should be that of the local/language being used. |
Sample Proof of Punch Report

Timecard Mirror Report
Report file properties
-
File name:
TIMECARD_MIRROR_REPORT_<StartDate>_<EndDate >.pdf
-
File extension:
.PDF
-
Delimiter:
-
Header row: No
-
Footer row: No
-
Target directory:
<OutboundDirectory>
Report fields
Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|
Name of Report | 40 | Hard coded, left justified. | "Electronic Timecard Mirror Report". |
Issue Date | 30 | Hard coded, right justified. | "Report issued on mm/dd/yyyy". |
Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|
Employer Identifier Type | 4 | Either CNPJ or CPF, but not both. | "Identifier Type" in Company configuration. |
Employer Identifier | 14 | "Company Identifier" in Company configuration. | |
Employer Name | 150 | "Company Name" in Company configuration. | |
Employer CNO | 14 | Display both CNO and CAEPF if both are configured. | "CNO" in Company configuration. |
Employer CAEPF | 14 | Display both CNO and CAEPF if both are configured. | "CAEPF" in Company configuration. |
Employer Location | A Company can have multiple Locations, each one is considered a "Company". | "Location" in Company configuration. | |
Employee PIS | 12 | Display both PIS and CPF if they are both configured. | "PIS" from the Person Record. |
Employee CPF | 11 | Display both PIS and CPF if they are both configured. | "CPF" from the Person Record. |
Employee Name | 150 | Consideration may need to be given to wrapping the name if all 150 characters are used. | "Last Name", "First Name" and "Middle" from Person Record. |
Primary Labor Account | The label could be changed to Primary Job for UKG Pro WFM. | "Primary Labor Account" from Person Record. | |
Hire Date | 10 | "Hire Date" from Person Record. | |
Time Period | 45 | The date range selected to run this report. |
Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|
Header for Contract schedules | 25 | Hard coded, left justified. | "Contract Schedules:" |
Schedule Code (CH) | 20 | "Work Performed (Timecard)".E39:E49 | "Schedule Code (CH)". |
Schedule Code | 20 | Schedule code sequentially generated and used in the body of the report as a reference. | Sequential generated for each unique schedule, for this report section. Current standard is "0001" - four digits. |
Entry (1) | 12 | Column header #2. | "Entry". |
Entry (1) | 12 | First scheduled start time. | Start time of the schedule in HH:MM 24 hour format. |
Exit (1) | 12 | Column header #3. | "Exit". |
Exit (1) | 12 | First scheduled out time. | Exit time of the schedule in HH:MM 24 hour format. |
Entry (2) | 12 | Column header #4. | "Entry". |
Entry (2) | 12 | Second scheduled start time. | Start time of the schedule in HH:MM 24 hour format. |
Exit (2) | 12 | Column header #5. | "Exit". |
Exit (2) | 12 | Second scheduled out time. | End time of the schedule in HH:MM 24 hour format. |
Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|
Day Column header | 10 | "Day". | |
Day | 10 | The calendar day representing the punch information. There may be multiple rows for one day. | Acquired for each day in the range the report was run for. |
Punches from electronic source header | 15 | "Punches from electronic source". | |
Punches from electronic source | 15 | These are the punches that came from a clock, manual punches do not show in this field. | Clock punches represented HH:MM 24 hour format, separated by commas. |
Work Performed (Timecard) header | 42 | "Work Performed (Timecard)". | |
Entry (1) header | 7 | "Entry" | |
Entry (1) | 7 | First In Punch for the day. All punches including from clocks are shown here. | First In Punch for the day in HH:MM 24 hour format. |
Exit (1) header | 7 | "Exit" | |
Exit (1) | 7 | First Out Punch for the day. All punches including from clocks are shown here. | First Out Punch for the day in HH:MM 24 hour format. |
Entry (2) header | 7 | "Entry" | |
Entry (2) | 7 | Next In Punch for the day. All punches including from clocks are shown here. | Next In Punch for the day in HH:MM 24 hour format. |
Exit (2) header | 7 | "Exit" | |
Exit (2) | 7 | Next Out Punch for the day. All punches including from clocks are shown here. | Next Out Punch for the day in HH:MM 24 hour format. |
Entry (3) header | 7 | "Entry" | |
Entry (3) | 7 | Next In Punch for the day. All punches including from clocks are shown here. | Next In Punch for the day in HH:MM 24 hour format. |
Exit (3) header | 7 | "Exit" | |
Exit (3) | 7 | Next Out Punch for the day. All punches including from clocks are shown here. | Next Out Punch for the day in HH:MM 24 hour format. |
Duration header | 8 | "Duration" | |
Duration header | 8 | The duration of time worked by the employee. This is computed based on the pay codes defined in the Combined Pay Code identified in the System Settings > Brazil Compliance > site.brc.mirror.combinePayCode.name | |
CH header | 5 | "CH" | |
CH header | 5 | The index that represents the schedule defined in the Contract Schedule section above. | The index that represents the schedule defined in the Contract Schedule section above. |
Treatments performed on the original data header | 42 | "Treatments performed on the original data". | |
Time header | 6 | "Time" | |
Time | 6 | Each modified punch is listed here, one punch per row. This also includes Pre-Determined punches. | Each individual punch in HH:MM 24 hour format. |
Type header | 4 | "Type" | |
Type | 4 | Represents the Treatment Type: performed on the original data: D = When time should be disregarded (was deleted). I = When time was included (was added). P = When the rest period is pre-determined (auto meal deduct) | Obtained from the audit information in the database. If it was a Pre-Determined punch it would be calculated. |
Reason header | 30 | "Reason" | |
Reason | 30 | Comment associated with the deletion (D) and addition (I) of punches. | Obtained from the database. For example, if a punch is changed from 08:00AM to 09:00AM, the 08:00AM punch gets marked as deleted (D), and the 09:00AM punch gets marked as an add (I). Note: For punches that originate from the Timecard (marked with "I"), if no comment was added to the punch, then the comment is populated from Application Setup -> System Settings -> Timekeeping -> site.timekeeping.brc.exportFile.defaultReason. For Predetermined Punches (marked with "P"), the comment is populated from the Message_PredeterminedPunchesComment parameter configured in the Locale CRT. For Offline Punches (device or imported punches), the comment is not populated. For deleted punches (marked with "D"), the comment is populated from the Message_TimecardReportDeleteComment parameter configured in the Locale CRT.
|
Field name | Field size | Content information | UKG Pro Workforce Management( UKG Pro WFM) Source |
---|---|---|---|
Verification message | This can be a hard coded message or set somewhere if it needs to be changed. It should be displayed on the last page for the employee. Needs to be translated. | "I am in complete agreement with the representations and information given above, representing the activities (occurrences) during the reference period." | |
Signature Line Employee | 35 | A line in the report where the employee can physically sign their names. Hard coded. | "____________________________________" |
Signature Line Manager | 35 | A line in the report where the manager can physically sign their names. Hard coded. | "____________________________________" |
Employee Name | 35 | The name of the employee this section of the report represents. There is at least one report section for each employee. | Name of the employee. Same as that from the Header Record above. |
Manager's Signature | 35 | Hard coded title, no actual manager's name. | "Manager's Signature" |
Sample Timecard Mirror Report

Version History — Brazil Compliance Reports
Change type | Process | Description |
---|---|---|
Initial release | This release includes multiple configurable BIRT reports that are generated by way of Boomi™ based on user-selected timeframe or date range, and Hyperfind or specific employees. Completed reports are retrieved from the Report Library. | |
Proof_of_Punch_Report | Provides employees with access to their punch information for verification purposes. | |
Timecard_Mirror_Report | Contains information for all punches in the system. Also includes company name and number, address, employee PIS or social security number, and employee hire date. The report consists of two sections: Contractual Employee Schedules and Punch Detail. |
Version | Description |
---|---|
iPack_v1 | Initial release. Phase 1 of the Brazil Compliance Reports integration includes the Arquivo Eletronico de Jornada (AEJ), Proof of Punch, and Timecard Mirror Reports. |
iPack_v1 Enhancement |
|
The integration will now generate the Arquivo Fonte de Dados file (AFD). | |
The Brazil Compliance Reports iPack did not create 07 Records in the AEJ Report; this behavior was caused when null values were retrieved for some of the fields. | |
Enhancements to the Brazil Compliance Report extension include updates to:
| |
The AEJ Report, which is part of the Brazil Compliance Report extension, inconsistently reported punches. In scenarios where a single scheduled shift was broken into multiple segments, the report treated each segment separately; this behavior has been fixed. | |
The Brazil Compliance Reports integration was revised to appropriately handle incorrect data. | |
The Brazil Compliance Reports iPack experienced discrepancies in data reporting, affecting the accuracy of compliance reports.
Specifically, the Duration column in the Timecard Mirror Report incorrectly displayed schedule duration instead of the expected worked time duration. Additionally, RECORD 07 / column 05 in the AEJ Report reported 0.00 minutes instead of the correct totals amount associated with the key defined in the Pay Code Attribute Definition configuration. | |
The AEJ Report within the Brazil Compliance Reports iPack encountered issues affecting data accuracy.
Specifically, RECORD 07 / column 05 reported 0.00 minutes instead of the correct totals amount associated with the key defined in the Pay Code Attribute Definition configuration. Additionally, in some instances, the minutes did not truncate after two decimal places, leading to discrepancies in report precision. |