Nama ERP DocsNama ERP Docs
Home
Guides
Examples
GitHub
Home
Guides
Examples
GitHub
  • Home

    • Guides

      • بعض المعلومات عن استعمال هذا الموقع
      • Utility Links
      • System Minimum Requirements
      • Reports Guide (Jasper Reports)
      • Keyboard Shortcuts
      • Layout Names:
      • Field Values Calculator
      • Importing Data from Excel or Queries
      • Tempo Language Manual
      • Sending Invoices and Documents to Customers
      • SMS and WhatsApp Configuration in Nama ERP
      • Field Filter with Criteria
      • تعديل الترجمات في نظام نما
      • Criteria Based Validation
      • Attendance Machine Formula Guide
      • Email By Parameterized Reports In Task Scheduler
      • Nama Properties
      • Customer Reward Points (Loyalty Points)
      • دليل استعمال النقاط الفنية في نقاط البيع
      • ORACLE JDBC Integration Connection in context.xml for integration purposes
    • Examples

      • أمثلة لمسارات كيان
    • Reprocessing Transactions

      • Reprocessing Quantity, Cost, and Stock Ages
      • Accounting Utilities - Ledger and Debt Ages Reprocessing
      • Queries to Check for (and Fix) Cost And Qty Problems
      • Inventory Related Utility Queries
      • Manufacturing Utilities
      • Fixed Assets Module Utilities
      • Real Estate Utilities
      • Database Related Operations
      • General Purpose Utility Queries
      • Replication Utilities
    • Frequently Asked Questions

      • أسئلة عامة
      • أسئلة شائعة عن مسارات الكيان
      • أسئلة في موديول التوزيع والمخازن والمبيعات والمشتريات
      • أسئلة شائعة في موديول الرواتب والموارد البشرية
      • أسئلة شائعة عن تصميم التقارير
      • أسئلة شائعة حول أداة إنشاء التقارير
      • أسئلة شائعة عن الموافقات
      • أسئلة شائعة حول فلترة الحقول

Attendance Machine Formula Guide

  • Go to Human Resources → Settings → Salary Settings → Attendance Machines Settings

How to Write a Formula

  • Formula is mainly based on Employee, Date, Time and Punch
  • Use ‘#’ character to indicate where the properties (e.g. Employee,Date.. etc)

Example: If the employee code is the second column:

x#empid

This means "skip the first column, take the second as the employee code."


Supported Functions

FunctionDescription
empidEmployee Attendance machine code
date{format}Date column with specified format (e.g. date{dd/MM/YYYY})
time{format}Time column with specified format (e.g. time{HH:mm})
datetime{format}Combined date & time column (e.g. datetime{dd/MM/YYYY HH:mm})
type{in-out}Indicates punch type: in (I) or out (O), e.g. type{I-O}
indate{format} / outdate{format}In/out date used if both exist on one line
intime{format} / outtime{format}In/out time used if both exist on one line
indatetime{format} / outdatetime{format}In/out date+time used if both exist on one line
machinecodeColumn for machine code
text1Column for text1 field

Punch Handling Functions

FunctionDescription
initialPunchUsed in punch detection
alternatingpunchTreats first punch as In, last as Out, no type column needed
exact / exactAlternatingAlternating with strict order (In, Out, In, Out...)
ignoreConsecutivePunchesIgnores duplicate consecutive punches

Time Adjustment

FunctionDescription
addhours{n}Adjust machine time by n hours (e.g. addhours{2} or addhours{-2})

Ignore Lines

FunctionDescription
ignoreLinesFromTop{n}Ignore top n lines (e.g. headers)
ignoreLinesFromEnd{n}Ignore bottom n lines (e.g. footers)

Separator

FunctionDescription
sep{‘ ’}Defines column separator (e.g. space ' ', tab '\t', comma ',')

Note

  • The following functions must be used at the end of the formula:

    • sep{...}
    • alternatingpunch
    • addhours{...}
    • ignoreLinesFromTop{...}
    • ignoreLinesFromEnd{...}

This prevents them from interfering with the column positions.


DEMO Example

Sample File:

Sample File

Formula:

machineName = x#x#x#empid#date{dd/MM/YYYY}#time{hh:mm}#am_pm{ص-م}#sep{' '}#ignoreLinesFromTop{1}

machineName is used here to tell that this formula is used with files from certain machine in case you have more than one attendance machine.

Note: the following functions must be used at the end of formula {sep,alternatingpunch ,addhours,igonreLinesFromTop,igonreLinesFromEnd} in order not to affect the properties columns while parsing the machine file

Edit On github
Last Updated:: 6/1/25, 12:35 AM
Prev
Criteria Based Validation
Next
Email By Parameterized Reports In Task Scheduler