Brazil Compliance Reports

In compliance with legislation in Brazil, the Brazil Compliance Report extension generates multiple reports that employers provide to local authorities.

Note: This integration is an extension that is developed outside the normal release schedule to meet specific customer needs; it must be installed by an Integration Consultant. To request one of these extensions, you must submit a request by way of the Gateway Request Portal for BITS, accompanied by a change order.
Important: Before you can configure Brazil Compliance Reports, you must open a support case to enable the Brazil Compliance feature on your tenant. Once the feature is enabled, you can turn on the feature switch and configure your Brazil Compliance Reports.

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

Caution: Allow only qualified personnel who have training in the Boomi™ application to configure or create integrations.
Important: Professional Services will complete Boomi extension setup steps and deploy the integration.
  1. Get the URL, User, and Password for the APIGatewayServer.
  2. Install and attach the iPack.
    Note: For more information, see the Deploy Integration Packs to your Atom topic.
    1. Open the Integration Template Designer: Select Main Menu Administration > Application Setup > Integrations Setup > Design Integration Templates.
      Note: If prompted, enter your Username and Password. Click Tap Log in.
    2. Make sure that the Account is correct. If not, select the right account.
    3. Select the Deploy tab > Integration Packs.
    4. From the list in the left column, search for and select the Pro WFM Brazil Compliance Reports Extension integration.
      Note: If the integration does not display, select Browse Integration Packs to search for and select the iPack.
    5. Click Tap Install.
    6. From Unattached Environments, select the environment in which to deploy the integration process for the selected integration. Click Tap the double-left arrows button .
  3. Configure the Brazil Compliance Reports Extension integration settings:
    1. Select the environment:
      1. Select the Manage tab > Atom Management.
      2. Select your environment.
    2. Select environment extensions:
      1. In Administration, click tap Environment Extensions.
      2. In Process Filter, click tap the magnifying glass . It can take several seconds before the button becomes active.
      3. Scroll to and select the integration pack: BrazilComplianceReports > BrazilComplianceReports_iPack_v1.
  4. Configure connection settings
    Caution: 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.
    1. Select Connection Settings.
    2. From the Connection dropdown list, select and configure the following:

      Connection Settings

      Connection Settings for the integration

      Setting Required Actions

      BrazilComplianceReports_iPack_v1_APIGatewayServer

      Required

      To change the default API gateway server:

      1. Clear Use Default.
      2. Enter the URL to the server.

        Example: <tenantURL>/api

      BrazilComplianceReports_iPack_v1_SFTPServerRequiredThe SFTP server setting defines the connection to the file that contains the records. Integrations access only the internal SFTP account.

      To change the default SFTP server parameters:

      1. For each field, clear Use Default.

      2. Enter the following values:

        • Enter the name of the internal Host.
        • Enter the number of the Port for the internal SFTP account.
        • In User, enter the username for the internal SFTP account.
        • In Password, select <Encrypted>. Enter the new password for the internal SFTP account.
        • Click Tap Apply.

      BrazilComplianceReports_iPack_v1_DatabaseServer

      Required

      The database server setting defines the connection to the file that contains the records.

      To change the default server parameters:

      1. For each field, clear Use Default.
      2. Enter the following values:

        In User, enter the username for the server.

        In Password, select <Encrypted>. Enter the password for the server. Click Tap Apply.

        Enter the Class Name.

        Enter the Connection URL for the database server.

      BrazilComplianceReports_iPack_v1_Locale_CRT

      Required

      Enable Override.

  5. Configure process properties:
    1. Select Process Properties.
      Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
    2. Select BrazilComplianceReports_iPack_v1_CRTConfig to set process properties that must be configured before the integration can run. This main process starts the integration process and handles errors.

      Process properties

      Process properties

      Process property nameColumn header value
      BrazilComplianceReports_iPack_v1_Locale_CRTParameter Name,Locale Policy,Message,Description

Configure the Brazil Compliance Reports integration

After the integration is deployed, complete the following configurations before you utilize this integration.

Note: Configuration examples are intended for illustration purposes only, and do not necessarily represent the needs of your organization. We recommend that you analyze your organization's needs before completing application setup configuration.

Application Setup

  1. Configure Access to Integrations.
  2. 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

      NameValue
      Current MonthCurrent Month
      Current YearCurrent Year
      Previous MonthPrevious Month
      Previous YearPrevious Year
      Caution: Parameter values configured in the BrazilComplianceReportingPeriod 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

      NameValue
      AEJ ReportAEJ Report
      AFD ReportAFD Report
      Proof of Punch ReportProof of Punch Report
      Timecard Mirror ReportTimecard Mirror Report
      Caution: Parameter values configured in the BrazilComplianceReportList 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.

Note:
  • 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.

Brazil Compliance Reports — Locale CRT structure

Brazil Compliance Reports Locale CRT structure

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.

Comment was not provided.

Description

The description that is shown in Additional Details.

The employee is not assigned a shift.

Note:
  • 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").

Brazil Compliance Reports — Locale sample content

Sample Locale CRT

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_CompDateBrazilian PortugueseA Data de Início deve ser anterior à Data de Término.A Data de Início deve ser anterior à Data de Término.
Error_DigitalSignApiFailedBrazilian PortugueseFalha 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_HyperfindAndLocationSelectorBrazilian PortugueseHyperfindAndLocation ou EmployeeID devem ser fornecidos.HyperfindAndLocation ou EmployeeID devem ser fornecidos.
Error_IntializeDefaultTryCatchErrorBrazilian PortugueseErro 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_InvalidDateFormatBrazilian PortugueseConfiguração de formato de data inválida.Formato de data incorreto no parâmetro de integração.
Error_InvalidEmployeeProvidedBrazilian PortugueseFuncionário inválido fornecido.Funcionário inválido fornecido.
Error_PayCodeAttribute Brazilian PortugueseAtributo de código de pagamento não configurado corretamente.Atributo de código de pagamento não configurado corretamente.
Error_PIS_eSocial_CPFBrazilian PortuguesePIS, 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_ReportingPeriodStartDateEndDateBrazilian PortugueseO ReportingPeriod ou StartDate e EndDate devem ser selecionados.O ReportingPeriod ou StartDate e EndDate devem ser selecionados.
Error_ReportListNotSelectedBrazilian PortugueseReportList deve ser configurado.Lista de relatórios não configurada.
Invalid_Employee_ProvidedBrazilian PortugueseID de funcionário inválido fornecido.ID de funcionário inválido.
Label_AEJTotalEmployeesDisqualifiedBrazilian PortugueseAEJ Total de Funcionários DesqualificadosRótulo de Funcionários Desqualificados Total AEJ.
Label_AEJTotalEmployeesProcessedBrazilian PortugueseAEJ Total de Empregados ProcessadosRótulo AEJ Total de Funcionários Processados.
Label_AFDTotalEmployeesDisqualifiedBrazilian PortugueseTotal de funcionários da AFD desqualificadosTotal de funcionários da AFD desqualificados
Label_AFDTotalEmployeesProcessedBrazilian PortugueseTotal de funcionários da AFD processadosTotal de funcionários da AFD processados
Label_ContractualSchedulesHeaderBrazilian PortugueseCronogramas contratuaisRótulo de cabeçalho de cronogramas contratuais.
Label_ErrorMessageBrazilian PortugueseMensagem de erro:Mensagem de erro:
Label_IntegrationExecutionIdBrazilian PortugueseID de execuçãoRótulo de ID de execução.
Label_IntegrationTypeNameBrazilian PortugueseTipo de integraçãoRótulo do tipo de integração.
Label_IntegrationTypeValueBrazilian PortugueseExportaçãoRótulo que exibe o tipo de integração de importação ou exportação.
Label_PersonNumberBrazilian PortugueseNúmero da pessoaEtiqueta do número da pessoa.
Label_POPBodyBrazilian PortugueseEncontre 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_POPSubjectBrazilian PortugueseRelatório de prova de punçãoAssunto do e-mail para o rótulo do Relatório de Prova de Perfuração.
Label_POPTotalEmployeesDisqualifiedBrazilian PortugueseProva Total de Funcionários DesqualificadosEtiqueta de prova total de soco de funcionários desqualificados.
Label_POPTotalEmployeesProcessedBrazilian PortugueseProva Total de Funcionários de Punch ProcessadosRótulo POP total de funcionários processados.
Label_TimecardHeaderBrazilian PortugueseRelatório de espelho de cartão de ponto eletrônicoEtiqueta de relatório de espelho de cartão de ponto eletrônico.
Label_TimecardMirrorReportBrazilian PortugueseRelatório de espelho de cartão de pontoRótulo para relatório de espelho de cartão de ponto
Label_TMRTotalEmployeesDisqualifiedBrazilian PortugueseCartão de ponto total de funcionários desqualificadosRótulo de desqualificado total de funcionários do cartão de ponto.
Label_TMRTotalEmployeesProcessedBrazilian PortugueseCartão de ponto Total de funcionários processadosRótulo Total de funcionários processados do cartão de ponto.
Label_TotalEmployeeCountBrazilian PortugueseContagem total de funcionáriosRótulo de contagem total de funcionários.
Label_VerficationMessageBrazilian PortugueseEstou 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_AdditionalDetailsWithErrorsBrazilian PortugueseIntegração concluída com erros.Integração concluída com erros.
Message_AdditionalDetailsWithoutErrorsBrazilian PortugueseIntegração concluída sem erros.Integração concluída sem erros.
Message_CallbackMessagePOPBrazilian PortugueseEm andamento. O relatório Proof of Punch está sendo gerado.Em andamento. O relatório Proof of Punch está sendo gerado.
Message_CallbackMessageTimecardBrazilian PortugueseEm 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_CompanyNameBlankBrazilian PortugueseO 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_EmailIDBlankBrazilian PortuguesePor favor, forneça o ID do e-mailPor favor, forneça o ID do e-mail
Message_HyperfindLocationNoEmployeeFoundBrazilian PortugueseO Hyperfind selecionado não retornou registros de funcionários.O Hyperfind selecionado não retornou registros de funcionários.
Message_IncorrectDateFormatBrazilian PortugueseFormato de data incorreto.Formato de data incorreto.
Message_IntegrationCompletedBrazilian PortugueseIntegração concluída sem erros.Integração concluída sem erros.
Message_IntegrationCompletedWithAdditionalDetailsBrazilian PortugueseIntegraçã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_IntegrationFailedBrazilian PortugueseProcesso concluído com erros de nível de registro.Processo concluído com erros de nível de registro.
Message_IntegrationFailedWithAdditionalDetailsBrazilian PortugueseProcesso 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_PayCodeAttributeBlankBrazilian PortugueseFornecer atributo de código de pagamento para FuncionárioFornecer atributo de código de pagamento para Funcionário
Message_PredeterminedPunchesCommentBrazilian PortugueseDESCComentário adicionado aos Pontos Predeterminados no Relatório de Espelho do Cartão de Ponto.
Message_RepTypeCBrazilian PortugueseRep 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_TimecardReportDeleteCommentBrazilian PortuguesePunção incorreta ou duplicadaComentário adicionado no relatório Espelho do Cartão de Ponto para pontos excluídos do Cartão de Ponto.
POP_HeaderNameBrazilian PortugueseComprovante de registro de tempo do trabalhadorTí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 EmployeesAEJ Total Disqualified Employees label.
Label_AEJTotalEmployeesProcessed*AEJ Total Employees ProcessedAEJ Total Employees Processed label.
Label_AFDTotalEmployeesDisqualified*AFD Total Employees DisqualifiedAFD Total Employees Disqualified label.
Label_AFDTotalEmployeesProcessed*AFD Total Employees ProcessedAFD Total Employees Processed label.
Label_ContractualSchedulesHeader*Contractual SchedulesContractual schedules heading label.
Label_ErrorMessage*Error MessageError Message label.
Label_IntegrationExecutionId*Execution IDExecution ID label.
Label_IntegrationTypeName*Integration typeIntegration type label.
Label_IntegrationTypeValue*ExportLabel that displays either import or export integration type.
Label_PersonNumber*Person NumberPerson 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 ReportEmail subject for Proof of Punch Report label.
Label_POPTotalEmployeesDisqualified*Total Proof of Punch Disqualified EmployeesTotal Proof of Punch of Disqualified Employees label.
Label_POPTotalEmployeesProcessed*Total Proof of Punch Employees ProcessedTotal POP of Employees Processed label.
Label_TimecardHeader*Electronic Timecard Mirror ReportElectronic Timecard Mirror Report label.
Label_TimecardMirrorReport*Timecard Mirror ReportTimecard Mirror Report label.
Label_TMRTotalEmployeesDisqualified*Timecard total Employees DisqualifiedTimecard total Employees Disqualified label.
Label_TMRTotalEmployeesProcessed*Timecard Total Employees ProcessedTimecard Total Employees Processed label.
Label_TotalEmployeeCount*Total employee countTotal 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 IDPlease 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 *DESCComment 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 PunchComment that is added in the Timecard Mirror report for punches deleted from the Timecard.
POP_HeaderName*Proof of Worker's Time RecordProof of Worker's Time Record heading.
Important: To ensure that you fully utilize Comment logic that identifies Timecard, Pre-determined and Offline punches, you must configure Message_TimecardReportDeleteComment and Message_PredeterminedPunchesComment parameters in the Locale CRT.

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.

Note:
  • 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.
  1. Select Main Menu Administration > Application Setup > Integrations Setup > Install Integrations.
  2. Click Tap Create .
  3. In Integration Name enter a unique name, such as Brazil Compliance Reports.
  4. (Optional) Enter a Description.
    Note: Do not select API Integration.
  5. In File Access, select Source/Output Download to select a connection.
  6. In Connection, click tap Internal SFTP.
  7. (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.
  8. (Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.
  9. (Optional) Configure Email Notifications:
    1. Select Yes to send email and control center notifications for integration runs.
    2. Enter the email addresses of the recipients for the following types of run status. For multiple recipients, separate the addresses by a comma, but no spaces:

      In Progress — The integration run started and has not finished.

      Completed — The integration ran successfully without errors.

      Failed — 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.

      Completed with Errors — The integration run has errors or could not run.

  10. 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.
  11. Configure Integration template and parameters:
    1. In Integration Template, select BrazilComplianceReports_iPack_v1.
    2. Click Tap Assign .
    3. In Integration Parameters, you can override default settings. Click Tap Create.
    4. Complete the configuration for each integration parameter value.
    5. Click Tap Save.

      Repeat this step for each integration control parameter that supports the Brazil Compliance Reports process.

      Integration Parameters

      Parameter nameDescription / User prompt / MandatoryTemplate parameterParameter type
      Hyperfind And LocationThe default Hyperfind or Location query that contains the employees for whom the integration is run.

      Default = 1 (All Home Locations)

      User prompt = Yes

      Mandatory = Yes

      Note: Ad-hoc Hyperfinds are not supported. All Home does not include terminated and inactive employees even if they have totals during the period. To include these totals, configure a Hyperfind that includes terminated and inactive employees, and select that Hyperfind in this process property. The maximum number of employees in a Hyperfind is 3500. To process more employees, divide the population into smaller Hyperfinds to run sequentially.
      HyperfindAndLocationHyperfind
      Employee IDA comma-separated list of specific employees for whom the integration is run.

      When no value is entered, the integration defaults to the Hyperfind And Location parameter.

      To process the integration for only a limited group of employees, enter the person numbers as defined in the source system, each separated by a comma (,) but not spaces.

      User prompt = Yes

      Mandatory = Yes

      EmployeeIDText
      Start DateStart of the date range for which the report runs.

      User prompt = Yes

      Mandatory = Yes

      Note: Start Date and End Date selections take priority over the Reporting Period.
      StartDateDate
      End DateEnd of the date range for which the report runs.

      User prompt = Yes

      Mandatory = Yes

      Note: Start Date and End Date selections take priority over the Reporting Period.
      Date
      Reporting PeriodThe integration list parameter which contains the list of predefined durations from which the user selects for the report run.

      Parameter value = BrazilComplianceReportingPeriod

      User prompt = Yes

      Mandatory = Yes

      ReportingPeriodDropdown
      Date FormatThe date format utilized during the report export.

      Supported values:

      dd-MM-yyyy

      dd/MM/yyyy

      yyyy-MM-dd (default)

      yyyy/MM/dd

      User prompt = No

      Mandatory = Yes

      DateFormatText
      Report ListThe integration list parameter which contains the list of reports from which the user selects.

      Parameter value = BrazilComplianceReportList

      User prompt = Yes

      Mandatory = Yes

      ReportListText
      Maximum File Size LimitThe maximum file size that the Digital Signature API supports.

      Default = 1024

      User prompt = No

      Mandatory = Yes

      Warning: This value must not exceed 1024.
      MaximumFileSizeLimitText
      Outbound DirectoryThe SFTP directory where signed reports are uploaded.

      Default = /Outbound

      User prompt = No

      Mandatory = Yes

      OutboundDirectory Text
      Year Start DateFinancial year start date entered using DD/MM format.

      Default = 01/01

      User prompt = No

      Mandatory = Yes

      YearStartDateText
      Send Proof of Punch report to employeeDetermines whether to email the Proof of Punch report to the employee.

      Default = False

      User prompt = Yes

      Mandatory = Yes

      SendEmailToEmployeeBoolean
      Archive DirectoryThe SFTP directory where reports that are not signed by the Digital Signature API are uploaded.

      Default = /Outbound/Archive

      User prompt = No

      Mandatory = Yes

      ArchiveDirectoryText
  12. 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

Run the integration:
  1. Select the ingegration:
    1. Select Main Menu Maintenance > Integrations.
    2. Click Tap Run an Integration .
    3. Select the BrazilComplianceReports_iPack_v1 integration from the list. Click Tap Select.
    4. (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.
  2. 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.
  3. 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.
  4. Wait for the confirmation that the integration completed or failed. Close the panel.
  5. Click Tap Refresh .
  6. To see details, select the integration run. Select Run Summary.
Check the results:
  1. 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.
  2. To check the results in more detail:
    1. Click Tap the tile for the integration run.
    2. Click Tap Run Summary to view the results of the integration run.

      Example Run Summary details

      Note: The available details vary by integration and configuration.
      • Integration Run Name: Name of this run of the integration.
      • Process Name: Name of any integration set that includes this integration.
      • Integration Name: Name of the installed integration.
      • Integration Reference ID: Unique identifier for this integration run (to help in troubleshooting errors).
      • User: The person or user account that ran the integration.
      • Integration Type: Import, Export, or None
      • Start Date: Date and time when the integration run started.
      • End Date: Date and time when the integration run finished.
      • Status: In-Progress, Completed, Completed with Errors, or Failed.
      • Records Processed: Number of records that were processed.
      • Records Created: Number of records that were created.
      • Errors: Number of records that failed.
      • Source Files, Output File, and Error Files: For file-based import integrations, use Manage SFTP to access the source and output files on the inbound (source) and outbound (destination) SFTP folders. See the Manage SFTP topic.
    3. Log in to the destination system and ensure that the data has been correctly updated.
    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

Important: Before you can configure Brazil Compliance Reports, you must open a support case to enable Manage Read Only Reports on your tenant.
  1. Customize the report labels:
    1. Unzip the shared .zip file.
    2. Navigate to the properties folder, and then open the properties file.
    3. Update the report string values on the right side of the equal sign (=).
    4. Save the changes, and then add the updated file to the .zip file.

      Repeat these steps for each Brazil Compliance Report.

      Proof of Punch Report

      Proof of Punch Report - report labels

      .zip file Proof_of_Punch_Report.zip
      Properties folder Proof_of_Punch_Report -> Properties
      Properties file report_com.kronos.report.data.design.Proof_of_Punch_Report_strings.properties
      Report strings

      NSR

      Employer

      Employer\ CNPJ

      CEI/CAEPF/CNO

      Local

      Employee

      Employee\ CPF

      Punch\ Datetime

      INPI

      Punch\ Source

      Hash

      Digital\ Signature

      Report\ Run\ Datetime

      Page

      of

      Timecard Mirror Report

      Timecard Mirror Report Report - report labels

      .zip fileTimecard_Mirror_Report.zip
      Properties folderTimecard_Mirror_Report -> Properties
      Properties filereport_com.kronos.report.data.design.Timecard_Mirror_Report_strings
      Report strings

      Report\ Issued\ On

      Employer

      CNO

      CAEPF

      Address:

      Employee

      PIS

      CPF

      Employee\ Name

      Primary\ Labour\ Account

      Hire\ Date

      Time\ Period

      Schedule\ Code\ (CH)

      Entry

      Exit

      Date

      Punches\ from\ electronic\ source

      Work\ Performed\ (TimeCard)

      Duration

      CH

      Treatments\ performed\ on\ original\ data

      Time

      Type

      Reason

      Manager's\ Signature

      Page

      of

  2. Localize the report strings:
    1. Unzip the shared file.
    2. Navigate to the properties folder.
    3. Create a new properties file that adheres to the following naming convention:

      report_com.kronos.report.data.design.<reportName>_strings_<languageCode>_<countryCode>.properties

      Example:

      report_com.kronos.report.data.design.Proof_of_Punch_Report_strings_en_US.properties

    4. Copy each key and value data pair from the strings properties file, and then paste the content into the new file.
    5. Replace all values after the " =" with required locale data, and then save the properties file.
    6. Zip the file after completing and saving all localization.

      Repeat these steps for each Brazil Compliance Report.

      Proof of Punch Report

      Proof of Punch Report - localized report strings

      .zip fileProof_of_Punch_Report.zip
      Properties folderProof_of_Punch_Report -> Properties
      Localized properties filereport_com.kronos.report.data.design.Proof_of_Punch_Report_strings_<languageCode>_<countryCode>

      Timecard Mirror Report

      Timecard Mirror Report - localized report strings

      .zip fileTimecard_Mirror_Report.zip
      Properties folderTimecard_Mirror_Report -> Properties
      Localized properties filereport_com.kronos.report.data.design. Timecard_Mirror_Report_strings_<languageCode>_<countryCode>
      Note:

      Refer to the table for appropriate character sequences to use in the properties file.

      Character sequence

      Properties file character sequence

      CharacterCharacter Sequence
      Space \
      Colon \:
      Semicolon \;
      Blank \t
      Note:
      • If you plan to test the report in your non-production (NPR) environment before implementation in your production (PRD) environment, you must complete each of the following UKG Pro WFM report configuration steps in both NPR and PRD environments.

      • Manage Read Only Reports must be enabled on the tenant in the NPR environment.

  3. Configure the report data object (RDO):
    1. Select Main Menu > Administration > Application Setup > Common Setup > Report Data Object Management.
    2. In Report Data Object Key, enter a unique report key.
      Caution: This key is hidden, and you cannot change the name after you save it.
    3. In Description, enter the report name.
    4. In Type, select Custom Read Only.
    5. In Time Frame, select Selected Time Period.
    6. Select Column Relationship Rules.
    7. In the Columnsarea, add each of the following required columns:
    8. Name – Employee ID
    9. Label – Employee ID
    10. Category – Employee
    11. Click Save.
    12. Repeat these steps for each Brazil Compliance Report. Use the following Report Data Object Keyvalues:
      • Proof_of_Punch_Report
      • Timecard_Mirror_Report

  4. 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.
    1. Go to Main Menu > Administration > Application Setup > Common Setup > Manage Read-Only Report.
    2. Click Tap Create, and then select Choose File.
    3. Select a Brazil Compliance Report .zip file, and then click tap Upload.
    4. Click TapSave after the upload completes.
    5. Go to Main Menu > Administration > Application Setup > Common Setup > Unpublished Reports.
    6. Select the Brazil Compliance Report, and then click tap Publish.
    7. Configure the report-specific fields:

      Report Name: Enter the name, such as Proof_of_Punch_Report or Timecard_Mirror_Report.

      Default Output Type: PDF

      Output formats: PDF

      Category: Custom Reports

      Report Parameters: Select Mandatory for Report ID and UniqueCode

    8. Click Tap Save to publish the report. See the Unpublished Reports topic.

      Brazil Compliance Reports

      Brazil Compliance Reports

      Brazil Compliance Report .zip fileOutput formats
      Proof_of_Punch_Report.zip PDF
      Timecard_Mirror_Report.zip PDF
  5. Approve the Brazil Compliance Reports:
    1. Login to UKG Pro WFM as a Support User.
    2. Go to Main Menu > Administration > Application Setup > Common Setup > Manage Read-Only Report.
    3. Select the Brazil Compliance Report file, and then click tap Review.
    4. Select Approve, and then click tap Apply. This action changes the Approval Status from Pending to Approved.
    5. Repeat these steps for each Brazil Compliance Report.
      • Proof_of_Punch_Report
      • Timecard_Mirror_Report
  6. 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

Record Type 01 - Header Record report field information.

This record contains company details.

Field numberField namePositionField sizeField typeData contentSource
1tipoReg001-0022(N) FixedRecord type. Fill in with "01".Hard coded.
2tpIdtEmpregador003-0031(N) FixedEmployee identifier type:

"1"= CNPJ

"2"= CPF
Company configuration in

UKG Pro WFM.

3idtEmpregador004-01714(N) VariableCNPJ or CPF of the employer.Company configuration in

UKG Pro WFM.

4caepf018-03114(N) FixedCAEPF Economic Activity registration of the Individual), if any (N/A to

UKG).

Company configuration in

UKG Pro WFM.

5cno032-04312(N) FixedCNO (National Registry of Labor), if any (N/A to

UKG).

Company configuration in

UKG Pro WFM.

6razaoOuNome044-193150(A) VariableCompany name or name of employer.Company configuration in

UKG Pro WFM.

7dataInicialAej194-20310(D) FixedStart date of records in the AEJ report.Start date selected by the user running the report.
8dataFinalAej204-21310(D) FixedThe end date of the records is in the AEJ report.End date selected by the user running the report.
9dataHoraGerAej214-23724(DH) FixedAEJ Report runtime (timestamp when the report was run).Timestamp when the report was run.
10versioned238-2403(A) FixedAEJ layout version. Fill in with "001".Hard coded with "001".

Example of Record Type 02 report entry

02|123456789|1|01020304050607080

Record Type 02 - Header Record report field information.

This record contains REP Type information and corresponding ID of the employee's REP Type.

Field numberField namePositionField sizeField typeData contentSource
1Retype001-0022(N) FixedRecord type. Fill in with "02".Hard coded.
2idRepAej003-0119(N) VariableREP identifier in AEJ report.Sequential record number associated with the record. This value is auto generated at run time.
3tpRep012-0121(N) FixedREP Type:

"1"=REP-C

"2"=REP-A

"3"=REP-P

Person record.
4nrRep013-02917(N) FixedManufacturing 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"); - INPIREP manufacturing number where the record was made.
Note:

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

Record Type 03 - Links

This record contains employee information.

Field numberField namePositionField sizeField typeData contentSource
1typeReg001-0022(N) FixedRecord type. Fill in with "03".Hard coded.
2idtVinculoAej003-02119(N) VariableLinked identifier in AEJ report.Sequential record number associated with the record. This value is auto generated at run time.
3CPF022-03211(N) FixedEmployee's CPF if any.Person record.
4nameEmp033-182150(A) VariableEmployee's name.Person record.

Example of Record Type 04 report entry

04|Schedule Shift Code |1250 |0800|1200|1300|1600

Record Type 04 - Links

This record contains the Company contract and schedules.

Field numberField namePositionField sizeField typeData contentSource
1tipoReg001-0022(N) FixedRecord type. Fill in with "04".Hard coded.
2codHorContratual003-03230(A) VariableSchedule shift code in AEJ report.Sequential number associated with the record in the report. This value is auto generated at run time.
3durjornada033-04412(N) VariableSchedule 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.
4hrEntrada01045-0484(H) FixedSchedule Start Time (segment 1).Schedule Start Time (segment 1).
5hrSaida01049-0524(H) FixedSchedule End Time (segment 1).Schedule End Time (segment 1).
6hrEntrada02053-0564(H) FixedSchedule Start Time (segment 2).Schedule Start Time (segment 2).
7hrSaida02057-0604(H) FixedSchedule End Time (segment 2).Schedule End Time (segment 2).
8hrEntrada03061-0644(H) FixedSchedule Start Time (segment n).Schedule Start Time (segment n) as needed.
9hrSaida03065-0684(H) FixedSchedule 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

Record Type 05 - Punches

This record contains employee punches associated with the Company.

Field numberField namePositionField sizeField typeData contentSource
1tipoReg001-0022(N) FixedRecord type. Fill in with "05".Hard coded.
2idtVinculoAej003-0119(N) VariableIdentifier 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.
3dataHoraMarc012-03524(DH) FixedDate and Time of the Punch.Date and time of the punch.
4idRepAej036-0449(A) VariableREP 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.
5tpMarc045-0451(N) FixedPunch type:

"E" = In Punch

"S" = Out Punch

"D" = Deleted Punch

Punch type retrieved from the database.
6seqEntSaida046-0483(N) FixedSequential 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.

7fonteMarc049-0491(A) FixedMarking 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.).
8codHorContratual050-07930(A) VariableContractual 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.
9motivo080-222150(A) VariableReason 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.
Note:
  • 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 and Marking Sources lookup table

Punch sourceMarking source
Add punch by InTouch DeviceT
Add punch by TimestampT
Add punch by GeniesT
Add punch in My TimecardI
Add punch in TimecardI
Add punch via UKG Mobile AppT
Add punch via single link for timecardI
Employees add punch via APIT
Managers add punch via API for an employeeT
Pre-Determined PunchesP

Example of Record Type 06 report entry

06|123456789|Enrollment No 111222

Record Type 06 - Identification of the registration of the link in eSocial, for employees with more than one link in the AEJ

This record contains the PIS, CPF or ESOCIAL numbers associated with the employee.

Field numberField namePositionField sizeField typeData contentSource
1regType001-0022(N) FixedRecord type. Fill in with "06".Hard coded.
2idtVinculoAej003-0119(N) VariableIdentifier of the link in the AEJ, reported in Record type “3”.Record Type 03 Field 02. Identifies the employee being reported on.
3matEsocial012-04130(A) VariableEnrollment number in Esocial.Person record.

Example of Record Type 07 report entry

07|123456789|1|2022-10-01|1050 |2

Record Type 07 - Absence and Bank of Hours

This record contains Absence and Bank of Hours.

Field numberField namePositionField sizeField typeData contentSource
1tipoReg001-0022(N) FixedRecord type. Fill in with "07".Hard coded.
2idtVinculoAej003-0111 to 9(N) VariableIdentifier of the link in the AEJ, reported in Record type “3”.Record Type 03 Field 02. Identifies the employee being reported on.
3tipoAusenOuComp012-0121(N) FixedCode 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.
4data013-02210(D) FixedDate of absence or compensation.Date of the paycode edit.
5qtMinutos023-03412(N) VariableThe 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.

6tipoMovBH035-0351(N) VariableType 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

Record Type 08 - Point Record Handling Program (PTRP) Identification

This record contains PTRP Identification.

Field numberField namePositionField sizeField typeData contentSource
1tipoReg001-0022(N) FixedRecord type. Fill in with "08".Hard coded.
2nameProg003-05250(A) VariablePTRP name (UKG application Name.)Application Setup -> System Configuration ->System Settings ->Timekeeping -> site.timekeeping.brc.exportFile.PRTP.name
3versaoProg053-0608(A) VariablePTRP name (UKG application Version.)Application Setup -> System Configuration ->System Settings ->Timekeeping -> site.timekeeping.brc.exportFile.PRTP.version
4tpIdtDesenv061-0611(N) FixedPTRP Developer Identifier Type:

"1" = CNPJ

"2" = CPF

Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.PTRP.identifier
5raaidtDesenv062-07514(N) VariableCNPJ or CPF of the PTRP developer.Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.BraziltaxId
6razaoNomeDesenv076-225159(A) VariableName of the PTRP developer.

Application Setup -> System Configuration ->System Settings ->Timekeeping ->site.timekeeping.brc.exportFile.PTRP.developer

7emailDesenv226-27550(A) VariablePTRP 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

Record Type 09 - Trailer

This contains the trailer record.

Field numberField namePositionField sizeField typeData contentSource
1regType001-0022(N) FixedRecord type. Fill in with "99".Hard coded.
2qtRecordsType01003-0119(N) VariableNumber of records of type "01".Total number of records for Record Type 01.
3qtRecordsType02012-0209(N) VariableNumber of records of type "02".Total number of records for Record Type 02.
4qtRecordsType03021-0299(N) VariableNumber of records of type "03".Total number of records for Record Type 03.
5qtRecordsType04030-0389(N) VariableNumber of records of type "04".Total number of records for Record Type 04.
6qtRecordsType05039-0479(N) VariableNumber of records of type "05".Total number of records for Record Type 05.
7qtRecordsType06048-0569(N) VariableNumber of records of type "06".Total number of records for Record Type 06.
8qtRecordsType07057-0659(N) VariableNumber of records of type "07".Total number of records for Record Type 07.
9qtRecordsType08066-0749(N) VariableNumber of records of type "08".Total number of records for Record Type 08.

Example of Digital Signature report entry

ASSINATURA_DIGITAL_EM_ARQUIVO_P7S

Record Type - Digital Signature

This contains the digital signature.

Field numberField namePositionField sizeField typeData contentSource
1digitalsignature001-100100(A) FixedDefault 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.

Note: There is no Record Type 08 for the AFD file.

Example of Record Type 01 report entry

000000001121234567890123422233344455567Company Name 123456789012345672022-10-012022-10-032022-10-04T02:50:00- 04000031123456789012343012345453456789876543234567892324

Record Type 01 - Header Record report field information.

This record contains company details.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) Fixed "000000000".Hard coded.
2tipoReg010-0101(N) Fixed Record type. Fill in with "1".Hard coded.
3tpIdtEmpregador011-0111(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
4idtEmpregador012-02514(N) Fixed CNPJ or CPF of the employer.Setup > Brazil Device Setup > Companies > Company Identifier Type.
5cno026-03914(N) Fixed CNO (National Registry of Works) or CAEPF (Register of Economic Activity of Individuals), if any.Setup > Brazil Device Setup > Companies > CNO.
6razaoOuNome040-189150(A) Fixed Company name or name of employer.Setup > Brazil Device Setup > Companies > Company Name.
7nrRep190-20617(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
8dataInicialAfd207-21610(D) Fixed Start date of records in the file.Start date selected by the user running the report.
9dataFinalAfd217-22610(D) Fixed End date of records in the file.End date selected by the user running the report.
10dataHoraGerAfd227-25024(DH) Fixed Date and time of file generation.Timestamp when the report was run.
11versaoAfd251-2533(N) FixedAFD layout version. Fill in with "003".Hard coded with "003".
12idRepAfd254-2541(N) Fixed REP manufacturer or developer identifier type:

"1" = CNPJ

"2" = CPF

Setup > Brazil Device Setup > Companies > Company Identifier Type.
13idFabricante255-26814(N) Fixed CNPJ or CPF of the REP manufacturer or developer.Setup > System Settings > Brazilian Compliance > site.brc.exportFile.brazilTAxID
14modeloRep269-29830(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.
15crc16299-3024(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

Record Type 02 - Inclusion or change of company identification in the REP for the timeframe selected for the report

This record contains inclusion or change of company identification in the REP for the timeframe selected for the report.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) Fixed NSRSequential from previous record, starting at "1".
2tipoReg010-0101(N) Fixed Record type. Fill in with "2".Hard coded.
3dataHoraGerAfd011-03424(DH) Fixed Record recording date and time.Modifications made to the Setup > Brazil Device Setup > Companies > Company Identifier
4idtResponsavel035-04814(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.
5tpIdtEmpregador049-0491(N) Fixed Employer identifier type:

"1" = CNPJ

"2" = CPF

Type of employer identifier, "1" for CNPJ or "2" for CPF.
6idtEmpregador050-06314(N) Fixed CNPJ or CPF of the employer.This is the "Company "Identifier" field from the "Company" page.
7cno064-07714(N) Fixed CNO (National Registry of Works) or CAEPF (Register of Economic Activity of Individuals), if any.New field on Company page labeled 'CNO".
8razaoOuNome078-227150(A) Fixed Company name or name of employer.This is the "Company "Name" field from the "Company" page.
9localPrestacao228-327100(A) Fixed Place of provision of services.Address of the service provider. System Settings > Brazilian Compliance > site.brc.exportFile.afd.ServiceAddress
10crc16328-3314(A) Fixed CRC-16 from the registry.Calculated using all fields of this Record Type and the CRC calculation tool.
Note: The company that is currently assigned to the employee will be appear in Record Type 02. This is done via the employee’s Brazil Device assignment which is tied to the Company configuration.

Example of Record Type 03 report entry

00000000332022-10-04T02:50:00-04002323221234565555

Record Type 03 - Employee punches for the timeframe selected for the report.

This record contains REP-A employee point marking punch selected for the report.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) Fixed NSRSequential from previous record, starting at "1".
2tipoReg010-0101(A) Fixed Record type. Fill in with "3".Hard coded.
3dataHoraMarc011-03424(DH) Fixed Date and time of the clocking.Date and time of the punch. One record for each punch.
4cpf035-04612(N) Fixed Employee CPF.“Additional Information” field in the Person Record labeled “CPF”.
5crc16047-0504(A) Fixed CRC-16 from the registry.Calculated using all fields of this Record Type and the CRC calculation tool.
Note:

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

Record Type 04 - Register - Clock Setting

This record type is for changes made to certified clock settings, Since UKG does not currently provide or support the certified clocks being used, Record Type 04 is not included in the report

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) Fixed NSRSequential from previous record. For certified clocks only, not needed for UKG solution.
2tipoReg010-0101(N) Fixed Record type. Fill in with "04".Hard coded. For certified clocks only, not needed for UKG solution.
3dataHoraAntesAjuste011-03424(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.
4dataHoraDepoisAjuste035-05824(DH) Fixed Adjusted date and time.Date and time of final punch. For certified clocks only, not needed for UKG solution.
5cpfResponsavel059-06911(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.
6crc16070-0734(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

Record Type 05 - Inclusions, alterations or exclusions of Employee Name or CPF setting during the timeframe selected for the report

This record contains information about Inclusions, alterations or exclusions of Employee Name or CPF setting during the timeframe selected for the report.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) FixedNSRSequential from previous record, starting with "1".
2tipoReg010-0101(N) FixedRecord type. Fill in with "5".Hard coded.
3dataHoraGravacaoAfd011-03424(DH) FixedRecord recording date and time.Date and time there was a modification to the employee's Name or CPF.
4tpMarc035-0351(A) FixedOperation type:

"I" = inclusion

"A" = update

"E" = exclusion

Type of user action on the change.
5cpf036-04712(N) FixedEmployee CPF."Additional Information" field in the Person Record labeled "CPF".
6nameEmp048-09952(A) FixedEmployer's name."Company "Name" field from the "Company" page.
7demaisDados100-1034(A) FixedAdditional 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.
8cpfResponsavel104-11411(N) FixedCPF of the person responsible for the change.Combination of Audit Trail and "Additional Information" field in the Person Record labeled "CPF".
9crc16115-1184(A) FixedCRC-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

Record Type 06 - Sensitive REP events

This record is not applicable for UKG.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) FixedNSRSequential from previous record. For certified clocks only, not needed for UKG solution.
2tipoReg010-0101(N) FixedRecord type. Fill in with "06".For certified clocks only, not needed for UKG solution.
3dataHoraGravacaoAfd011-03424(DH) Fixed Record recording date and time.For certified clocks only, not needed for UKG solution.
4tpEvento035-0362(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

Record Type 07 - Point marking (Punch) for REP-P

This record is applicable only for REP-P employees.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) FixedNSR.Sequential from previous record.
2tipoReg010-0101(N) FixedRecord type. Fill in with "7".Hard coded. Only for REP-P transactions.
3dataHoraMarc011-03424(DH) FixedDate and time of the clocking/punch.Date and time of the punch. Only for REP-P transactions.
4cpf035-04612(N) FixedEmployee CPF."Additional Information" field in the Person Record labeled "CPF". Only for REP-P transactions.
5dataHoraGravacaoAfd047-07024(DH) FixedRecord recording date and time.Date and time the punch was written to the database. Only for REP-P transactions.
6idMarc071-0722(N) FixedMarking 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.
7tpMarc073-0731(N) FixedInform "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.
8codHash074- 13764(A) FixedHashcodeCombination of all fields in this record and the hash code from the previous record (if any).

Record Type 08 - No record type for this report

Example of Record Type 09 report entry

0000000080000000010000000010000000010000000010000000010000000019

Record Type 09 - Trailer

This contains the trailer record.

Field numberField namePositionField sizeField typeData contentSource
1nsr001-0099(N) Fixed"999999999".Sequential from previous record.
2qtRegistrosTipo02010-0189(N) FixedNumber of type "2" records in the file.Total number of records for Record Type 02.
3qtRegistrosTipo03019-0279(N) FixedNumber of type "3" records in the file.Total number of records for Record Type 03.
4qtRegistrosTipo04028-0369(N) FixedNumber of type "4" records in the file.Total number of records for Record Type 04.
5qtRegistrosTipo05037-0459(N) FixedNumber of type "5" records in the file.Total number of records for Record Type 05.
6qtRegistrosTipo06046-0549(N) FixedNumber of type "6" records in the file.Total number of records for Record Type 06.
7qtRegistrosTipo07055-0639(N) FixedNumber of type "7" records in the file.Total number of records for Record Type 07.
8tipoReg064-0641(N) FixedRecord type. Fill in with "9".Hard coded.

Example of Digital Signature report entry

ASSINATURA_DIGITAL_EM_ARQUIVO_P7S

Record Type - Digital Signature

This contains the digital signature.

Field numberField namePositionField sizeField typeData contentSource
1digitalsignature001-100100(A) FixedDefault 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

Report fields - Report Labels and Fields

This table contains the report labels and fields.

Label nameField nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
NoneName of Report40Hard coded, left justified."Proof of Worker's Time Record".
NSR:NSR9This 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:Employer150Name 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 CPF1Either 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 Identifier24Company Identifier associated with the employee, on the day of the punch.Setup > Brazil Device Setup > Companies > Company Identifier
CEI/CAEPF/CNO:CEICEI configured for the Company, associated with the employee, on the day of the punch.Setup > Brazil Device Setup > Companies > CEI
CEI/CAEPF/CNO:CAEPF14CAEPF configured for the Company, associated with the employee, on the day of the punch.Setup > Brazil Device Setup > Companies > CAEPF.
CEI/CAEPF/CNO:CNO12CNO configured for the Company, associated with the employee, on the day of the punch.Setup > Brazil Device Setup > Companies > CNO.
Location:Employer Address100Location configured for the Company, associated with the employee, on the day of the punch.Setup > Brazil Device Setup > Companies > Location.
Employee:Employee Name150Employee 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 CPF14Employee CPF associated with the punch information being displayed.Person Record > Additional Information > CPF of the employee.
Punch Datetime:Punch16Punch 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 identifier17INPI 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 punch15Where the punch originated.Timecard, Timestamp, Clock, Mobile, Group Edits, API or Other.
Hash:Hash code for the punchHash 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 Signature100Non 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 Date16Date 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

Report fields - Report Label

This table contains the report label fields.

Field nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
Name of Report40Hard coded, left justified."Electronic Timecard Mirror Report".
Issue Date30Hard coded, right justified."Report issued on mm/dd/yyyy".

Report fields - Report Header

This table contains report header fields.

Field nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
Employer Identifier Type4Either CNPJ or CPF, but not both."Identifier Type" in Company configuration.
Employer Identifier 14"Company Identifier" in Company configuration.
Employer Name150"Company Name" in Company configuration.
Employer CNO14Display both CNO and CAEPF if both are configured."CNO" in Company configuration.
Employer CAEPF14Display both CNO and CAEPF if both are configured."CAEPF" in Company configuration.
Employer LocationA Company can have multiple Locations, each one is considered a "Company"."Location" in Company configuration.
Employee PIS12Display both PIS and CPF if they are both configured."PIS" from the Person Record.
Employee CPF11Display both PIS and CPF if they are both configured."CPF" from the Person Record.
Employee Name150Consideration 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 AccountThe label could be changed to Primary Job for UKG Pro WFM."Primary Labor Account" from Person Record.
Hire Date10"Hire Date" from Person Record.
Time Period45The date range selected to run this report.

Report fields - Contract Schedules

This table contains contract schedule fields.

Field nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
Header for Contract schedules25Hard coded, left justified."Contract Schedules:"
Schedule Code (CH)20"Work Performed (Timecard)".E39:E49"Schedule Code (CH)".
Schedule Code20Schedule 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)12Column header #2."Entry".
Entry (1)12First scheduled start time.Start time of the schedule in HH:MM 24 hour format.
Exit (1)12Column header #3."Exit".
Exit (1)12First scheduled out time.Exit time of the schedule in HH:MM 24 hour format.
Entry (2)12Column header #4."Entry".
Entry (2)12Second scheduled start time.Start time of the schedule in HH:MM 24 hour format.
Exit (2)12Column header #5."Exit".
Exit (2)12Second scheduled out time.End time of the schedule in HH:MM 24 hour format.

Report fields - Report Body

This table contains report body fields.

Field nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
Day Column header10"Day".
Day10The 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 header15"Punches from electronic source".
Punches from electronic source15These 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) header42"Work Performed (Timecard)".
Entry (1) header7"Entry"
Entry (1)7First 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) header7"Exit"
Exit (1)7First 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) header7"Entry"
Entry (2)7Next 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) header7"Exit"
Exit (2)7Next 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) header7"Entry"
Entry (3)7Next 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) header7"Exit"
Exit (3)7Next 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 header8"Duration"
Duration header8The 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 header5"CH"
CH header5The 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 header42"Treatments performed on the original data".
Time header6"Time"
Time6Each 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 header4"Type"
Type4Represents 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 header30"Reason"
Reason30Comment 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.

Report fields - Verification

This table contains verification fields.

Field nameField sizeContent information

UKG Pro Workforce Management( UKG Pro WFM)

Source
Verification messageThis 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 Employee35A line in the report where the employee can physically sign their names.

Hard coded.

"____________________________________"
Signature Line Manager35 A line in the report where the manager can physically sign their names.

Hard coded.

"____________________________________"
Employee Name35 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 Signature35 Hard coded title, no actual manager's name."Manager's Signature"

Sample Timecard Mirror Report



Version History — Brazil Compliance Reports

Compliance reports

Change typeProcessDescription
Initial releaseThis 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_ReportProvides employees with access to their punch information for verification purposes.
Timecard_Mirror_ReportContains 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.

Integration

VersionDescription
iPack_v1Initial 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 returned an error when running the AEJ Report when the Punch Audit API did not return a field override to identify the punch type as "In Punch" or "Out Punch".
  • Date format issues no longer exist in the Proof of Punch and Timecard Mirror Reports.

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:
  • Logic that identifies pre-determined punches for the AEJ and Timecard Mirror Reports.

  • Logic that selects the comment associated with Timecard, pre-determined, and offline punches.

  • Logic that determines the relationship between punches and schedules, identifying which punch corresponds to which schedule.

  • Layout of the Timecard Mirror BIRT Report.

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.