Important note Retirement of icTime and Retirement of biz on December 29th, 2023

Example Use Case

It is up to you how you use the REST services of icbiz, you might use them in a way that has nothing or not much to do with Enterprise Resource Planning (ERP) or Accounting Software integration at all, because you are not exchanging data with an ERP system, but with other software or systems. However, in the end you are surely using the services to automatically integrate with another software, system or process.

Requirements

When we developped icbiz, we had basically a scenario like the following one in mind:

  • A  company in the area of IT-related services would like to use JIRA as task and project management system.
  • JIRA should be used to manage projects internally, but also to serve as a helpdesk for customers.
  • For both scenarions, work should be tracked with the unit "time" for controlling purposes, and sometimes also for billing purposes.
  • The company uses an ERP system where many customers with different projects are managed. Projects are basically contracts that contain certain billable services as "articles" or "contract positions".
  • Billable services in the ERP system have time or other measuring units (like gigabyte of data or a fixed price) as billing units. All financial data with price lists structures that define how an article is charged is managed in the ERP system, and all billing will take place via the ERP system.
  • Different services ("articles") should automatically be created/updated in JIRA (i.e. ictime) once they are created/modified in the ERP system. Same for the definition of the correct billing unit (time, number of ...) for a specific service/article.
  • Projects created in the ERP system should automatically be created in JIRA, based on a couple of different templates with different issues pre-created and different project role configurations etc.
  • Additional issues can be created manually or will automatically be generated via incoming support emails.
  • Available services/articles for a project from the ERP system should be automatically assigned after project creation in JIRA (i.e. ictime).
  • Employees log work on JIRA issues (as time, but depending on project and kind of activity also with other billing units). When logging work on an issue, applicable services/articles and billing units need to be available, depending on the current project.
  • Work logs should be transfered to the ERP system as base for billing. Work logs billed in the ERP system should be marked as "charged" in JIRA (i.e. ictime).
  • Optiionally, work logs would need to be approved before being able to be billed.

Solution Approach

The way this scenario has been reflected in JIRA/ictime and implemented via icbiz is as follows:

  • Using /icbiz/1.0/project/copy, projects are automatically created in JIRA after having been set up in the ERP system. By using different copy template projects in JIRA, different requirements as regards pre-created issues and project role configuration etc. can be considered.
  • Using /icbiz/1.0/activitytype/createOrUpdate, billable services (articles) on the level of master data are automatically created/updated as activity types in ictime once they have been created or modified in the ERP system.
  • Using /icbiz/1.0/activitytype/assignActivityToProject, only those activity types (services, articles)  that are part of a project contract are assigned to the project. As a result, only these activity types appear when logging work on issues of the respective project.
  • To reflect billing units other than time and to reflect additional information that needs to be collected when work is logged, a couple of Work Log Attributes (WLA) are created in ictime (see Work Log Attributes (WLA)).
  • As some of the billing units and some of the additional fields only apply for certain services (activity types), others only to certain projects, respective WLA are assigned to activiyt types and projects using /icbiz/1.0/wla/activityTypeAssigned and /icbiz/1.0/wla/projectAssigned.
  • When users log work for an issue, depending on project and activity type, additional fields to register work with different billing units or to fill in/select other criteria appear.
  • Using /icbiz/1.0/worklog/report, the ERP system can retrieve work logs according to different criteria.
  • By configuring the directInvoice parameter for /icbiz/1.0/worklog/report, on successful delivery of work logs to the ERP system, ictime will directly set the work logs to "charged" and will create an account/invoice in ictime.
  • A reference to the account/invoice in ictime - that is delievered in the successful response for directInvoice in icbiz/1.0/worklog/report - is stored in the ERP database.
  • Additional checks to ensure consistency between both systems as regards work logs that have been charged could be done using /icbiz/1.0/invoice/view or /icbiz/1.0/invoice/invoiceItems.
  • If approval should be mandatory before billing, implementation for /icbiz/1.0/worklog/report, just needs to configure the report to only deliver work logs in status APPROVED.