{
  "format": "dataset-manifest/1",
  "slug": "financial-tracking-for-hr-operations",
  "version": 1,
  "seed": "financial-tracking-for-hr-operations:1",
  "spec": {
    "format": "dataset/1",
    "slug": "financial-tracking-for-hr-operations",
    "name": "Financial Tracking for HR Operations",
    "tagline": "Employee payroll entries, payslips, timesheets, and expense reports for tracking HR financial operations.",
    "description": "Employees manage their time and expenses, ensuring accurate compensation and seamless financial operations within the organization. Each employee's working hours are meticulously recorded in timesheets, which serve as the foundation for payroll entries. The payroll_entries table tracks the individual payments processed for each employee, detailing how much they earned during a specific pay period based on their timesheet submissions. Payslips, generated from these payroll entries, provide a comprehensive breakdown of earnings, deductions, and net pay, offering employees transparency regarding their compensation. \n\nEmployee expenses, recorded in the employee_expenses table, capture reimbursements for costs incurred while performing work duties. These expenses are often cross-referenced with journal_entries, which document adjustments or corrections made in the financial records. Each journal entry can provide context to anomalies in payroll or expenses, helping the finance team to maintain accurate ledgers. The relationships between these tables enable users to query the database to ascertain how employee performance directly impacts payroll, as well as understand the correlation between reimbursed expenses and organizational spending. \n\nThis synthetic dataset allows developers to explore various analytical questions, such as tracking payroll trends over time, analyzing employee expenses relative to their salaries, or assessing the efficiency of financial operations within HR. Practicing with this data can sharpen skills in joins and aggregations, helping to reveal insights into workforce management and cost containment strategies. Overall, this dataset is an excellent playground for honing financial data analysis capabilities while gaining a deeper understanding of HR operations.",
    "domain": "hr",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "HR operations",
      "financial tracking",
      "payroll",
      "employee expenses",
      "invoices",
      "journal entries"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "employees": {
        "description": "This table holds records of employees, including their personal and job-related information. Each employee can be linked to payroll and expense entries.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each employee."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the employee."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The email address of the employee."
          },
          "position": {
            "kind": "words",
            "description": "The job position of the employee."
          },
          "department": {
            "kind": "words",
            "description": "The department where the employee works."
          }
        }
      },
      "payroll_entries": {
        "description": "Records of payroll entries detailing the payment information for each employee for a given period.",
        "rows": {
          "per": "employees",
          "via": "employee_id",
          "min": 1,
          "max": 3,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each payroll entry."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "The ID of the employee associated with this payroll entry."
          },
          "pay_period_start": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The start date of the pay period.",
            "trend": "growing"
          },
          "pay_period_end": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The end date of the pay period.",
            "trend": "growing"
          },
          "amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 10000,
            "scale": 2,
            "description": "The total amount paid for this payroll entry."
          }
        }
      },
      "payslips": {
        "description": "Detailed records of payslips issued to employees, summarizing the payroll information for specific periods.",
        "rows": {
          "per": "payroll_entries",
          "via": "payroll_entry_id",
          "min": 1,
          "max": 1,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each payslip."
          },
          "payroll_entry_id": {
            "kind": "fk",
            "ref": "payroll_entries.id",
            "description": "The ID of the payroll entry associated with this payslip."
          },
          "issue_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date the payslip was issued.",
            "trend": "growing"
          },
          "net_amount": {
            "kind": "decimal",
            "min": 900,
            "max": 9500,
            "scale": 2,
            "description": "The net amount after deductions."
          }
        }
      },
      "timesheets": {
        "description": "Records of employee timesheet entries, tracking hours worked during specific periods.",
        "rows": {
          "per": "employees",
          "via": "employee_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each timesheet entry."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "The ID of the employee associated with this timesheet."
          },
          "work_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date the work was performed."
          },
          "hours_worked": {
            "kind": "decimal",
            "min": 1,
            "max": 24,
            "scale": 2,
            "description": "The number of hours worked on this date."
          }
        }
      },
      "employee_expenses": {
        "description": "Records of expenses submitted by employees, detailing reimbursements and related invoices.",
        "rows": {
          "per": "employees",
          "via": "employee_id",
          "min": 1,
          "max": 3,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each expense entry."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "The ID of the employee associated with this expense."
          },
          "expense_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date the expense was incurred."
          },
          "amount": {
            "kind": "decimal",
            "min": 10,
            "max": 5000,
            "scale": 2,
            "description": "The amount of the expense."
          },
          "description": {
            "kind": "words",
            "description": "A brief description of the expense.",
            "nullable": true
          }
        }
      },
      "journal_entries": {
        "description": "This table captures journal entries for adjustments and corrections made in the financial records.",
        "rows": {
          "per": "payroll_entries",
          "via": "payroll_entry_id",
          "min": 0,
          "max": 2,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each journal entry."
          },
          "payroll_entry_id": {
            "kind": "fk",
            "ref": "payroll_entries.id",
            "description": "The ID of the payroll entry associated with this journal entry."
          },
          "entry_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date of the journal entry.",
            "trend": "seasonal"
          },
          "adjustment_amount": {
            "kind": "decimal",
            "min": -1000,
            "max": 1000,
            "scale": 2,
            "description": "The amount adjusted in this journal entry."
          },
          "note": {
            "kind": "words",
            "description": "A note explaining the reason for the adjustment.",
            "nullable": true
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "monetary",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "How do payroll amounts vary across different departments?",
      "What types of employee expenses are most common?",
      "How many hours do employees typically work in a month?",
      "What is the average net pay for employees in different positions?",
      "How often do journal entries occur, and what are their typical adjustments?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Payroll Entries with Payslips",
        "sql": "SELECT p.id AS payslip_id, pe.amount, pe.pay_period_start FROM payslips p JOIN payroll_entries pe ON p.payroll_entry_id = pe.id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Hours Worked per Employee",
        "sql": "SELECT e.full_name, AVG(t.hours_worked) AS average_hours FROM employees e JOIN timesheets t ON e.id = t.employee_id GROUP BY e.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Total Employee Expenses by Category",
        "sql": "SELECT description, SUM(amount) AS total_expense FROM employee_expenses GROUP BY description;",
        "dialect": "postgres"
      },
      {
        "title": "Monthly Payroll Trends",
        "sql": "SELECT EXTRACT(MONTH FROM pe.pay_period_start) AS month, SUM(pe.amount) AS total_payroll FROM payroll_entries pe GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "HR Data Analysis",
        "body": "HR analysts can use this dataset to identify trends in employee compensation, track payroll processing efficiency, and analyze the financial impact of employee expenses. By querying this data, they can generate reports that inform budget decisions and improve financial planning."
      },
      {
        "title": "Teaching SQL Concepts",
        "body": "Instructors can use this dataset to teach students about relational databases, SQL queries, and financial data management. The variety of tables and their relationships provide an excellent foundation for learning how to perform joins, aggregations, and data analysis."
      },
      {
        "title": "Expense Management Review",
        "body": "Finance teams can leverage this dataset to review employee expenses and ensure compliance with company policies. By analyzing expense reports, they can identify patterns and discrepancies, leading to better expense management and policy adjustments."
      },
      {
        "title": "Payroll Review and Adjustments",
        "body": "Payroll specialists can use this dataset to conduct thorough reviews of payroll entries and payslips. By examining trends and discrepancies in payroll data, they can ensure accuracy and address any issues before the final payroll is processed."
      }
    ]
  },
  "counts": {
    "employees": 150,
    "employee_expenses": 264,
    "payroll_entries": 235,
    "journal_entries": 146,
    "payslips": 235,
    "timesheets": 326
  },
  "stats": {
    "employees": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "full_name": {
          "nulls": 0,
          "distinct": 147,
          "min": "Alice Adams",
          "max": "Zoe Walker"
        },
        "email": {
          "nulls": 0,
          "distinct": 150
        },
        "position": {
          "nulls": 0,
          "distinct": 150
        },
        "department": {
          "nulls": 0,
          "distinct": 150
        }
      }
    },
    "payroll_entries": {
      "rows": 235,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 235,
          "min": 1,
          "max": 235
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "pay_period_start": {
          "nulls": 0,
          "distinct": 172,
          "min": "2023-01-02",
          "max": "2023-12-31"
        },
        "pay_period_end": {
          "nulls": 0,
          "distinct": 172,
          "min": "2023-01-03",
          "max": "2023-12-30"
        },
        "amount": {
          "nulls": 0,
          "distinct": 235,
          "min": 1050.95,
          "max": 9990.86
        }
      }
    },
    "payslips": {
      "rows": 235,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 235,
          "min": 1,
          "max": 235
        },
        "payroll_entry_id": {
          "nulls": 0,
          "distinct": 235,
          "min": 1,
          "max": 235
        },
        "issue_date": {
          "nulls": 0,
          "distinct": 174,
          "min": "2023-01-02",
          "max": "2023-12-31"
        },
        "net_amount": {
          "nulls": 0,
          "distinct": 235,
          "min": 913.57,
          "max": 9482.07
        }
      }
    },
    "timesheets": {
      "rows": 326,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 326,
          "min": 1,
          "max": 326
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "work_date": {
          "nulls": 0,
          "distinct": 227,
          "min": "2023-01-01",
          "max": "2023-12-30"
        },
        "hours_worked": {
          "nulls": 0,
          "distinct": 312,
          "min": 1.02,
          "max": 23.89
        }
      }
    },
    "employee_expenses": {
      "rows": 264,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 264,
          "min": 1,
          "max": 264
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "expense_date": {
          "nulls": 0,
          "distinct": 189,
          "min": "2023-01-01",
          "max": "2023-12-31"
        },
        "amount": {
          "nulls": 0,
          "distinct": 264,
          "min": 10.92,
          "max": 4993.13
        },
        "description": {
          "nulls": 18,
          "distinct": 246
        }
      }
    },
    "journal_entries": {
      "rows": 146,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 146,
          "min": 1,
          "max": 146
        },
        "payroll_entry_id": {
          "nulls": 0,
          "distinct": 97,
          "min": 1,
          "max": 232
        },
        "entry_date": {
          "nulls": 0,
          "distinct": 113,
          "min": "2023-01-02",
          "max": "2023-12-31"
        },
        "adjustment_amount": {
          "nulls": 0,
          "distinct": 146,
          "min": -978.39,
          "max": 985.21
        },
        "note": {
          "nulls": 14,
          "distinct": 132
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/employees.csv",
      "format": "csv",
      "table": "employees",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/employees.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/employees.csv",
      "bytes": 14139,
      "sha256": "9ba7ddfc1c097f5d042e1027aaac79e92984d9cccccedb0c97e2859b07410cb9",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/employee_expenses.csv",
      "format": "csv",
      "table": "employee_expenses",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/employee_expenses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/employee_expenses.csv",
      "bytes": 13426,
      "sha256": "440496a1311eb5b6b2e6e7fdd9339bdb9bce2395d90b8fbe1ccbc84c3db17315",
      "rows": 264,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payroll_entries.csv",
      "format": "csv",
      "table": "payroll_entries",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/payroll_entries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/payroll_entries.csv",
      "bytes": 8944,
      "sha256": "3449394d112878a1fddab2cc4e97b94b9ec7674845539e8b84f980fad241a8fc",
      "rows": 235,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/journal_entries.csv",
      "format": "csv",
      "table": "journal_entries",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/journal_entries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/journal_entries.csv",
      "bytes": 7572,
      "sha256": "10a55a11d45dfe810fc87ceeca1e558503178a349b2052ec78f875160e93277a",
      "rows": 146,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payslips.csv",
      "format": "csv",
      "table": "payslips",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/payslips.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/payslips.csv",
      "bytes": 6405,
      "sha256": "a43ca980b02fb09d5a934406737773f66e9c053635ae8fc29e0706d7640271ed",
      "rows": 235,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/timesheets.csv",
      "format": "csv",
      "table": "timesheets",
      "key": "datasets/financial-tracking-for-hr-operations/v1/csv/timesheets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/csv/timesheets.csv",
      "bytes": 8047,
      "sha256": "44bb1eed9af19301b6b91ce0ecad58f2732f05071ce758b7f3d5960963d20559",
      "rows": 326,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "financial-tracking-for-hr-operations.json",
      "format": "json",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/financial-tracking-for-hr-operations.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/financial-tracking-for-hr-operations.json",
      "bytes": 201403,
      "sha256": "c80a5564f8b2fe76cc1c4adfad12a8e39b4bf31a991849e53b1338be3fa4f908",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/sql/postgres.sql",
      "bytes": 80204,
      "sha256": "093456e598c3d432aa8f23da7fe44f1ac16fc2cc394c8cea1bf1307e5cec552f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/sql/mysql.sql",
      "bytes": 79493,
      "sha256": "c4c5ebb346c97160c3868377113b6cd14fc902d1dece62274d3fa1d62f030b6d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/sql/mssql.sql",
      "bytes": 82336,
      "sha256": "efe171e2be28b1525804014b16e51bd6d1ccf290310b52f0e0c94a8b779b3cd6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/sql/sqlite.sql",
      "bytes": 79211,
      "sha256": "b5afe54999fe177847f1502411a29c2e43c3b2a807ad5a912c5a68f645b555c7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/prisma/seed.ts",
      "bytes": 160660,
      "sha256": "1334fd5e71094e223ff01717659579bebe832504d42de597a44e975bd0bdaf71",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/financial-tracking-for-hr-operations/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-hr-operations/v1/django/fixtures.json",
      "bytes": 264431,
      "sha256": "be7137b8ada417a22978e976625e3c0ffa561837fd0db3869fa5381bb671fb4a",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788733949684,
  "updatedAt": 1788733949684
}
