User Manual

Idea

The tangly services ERP provides the functionalities to manage service company offerings and legal documents.

The first customer ever using the application is tangly llc company. The company is an agile consulting and Java stack boutique organization.

A service company has no inventory, production, or logistics departments.

A service company has a strong focus on customers, digital products, projects and associated efforts. Cash flow is dictated by the timely invoicing of performed activities. The cash drain is mainly salaries and social costs.

The application follows the principles of Naked Objects to provide a user interface

Business entities are displayed in a grid. CRUD operations are available for each entity. Context menus provide access to business operations.

Common Concepts

The import of data is a common operation for each bounded domain. All available data will be imported. Overwriting existing data is disabled.

Bounded domains are independent of each other. The order of import is not relevant. Each bounded domain has its own import operation and is responsible for the ordering of the associated import operations.

Import files are located under tangle-erp/import/bounded-domain.

Generated reports are located under tangle-erp/reports/bounded-domain.

Database files are located under tangle-erp/db/bounded-domain.

Products

Effort Tracking Workflow

Collaborators can be assigned to products. An assignment connects a collaborator to a product, a time interval and a contract. They document their activities in time sheets describing the performed efforts.

Efforts are written down in a YAML file for each day, and each assignment. The assignment uniquely identifies the product and the collaborator. NO more than one effort shall be recorded per day and per assignment.

Effort Files

Efforts can be documented in YAML files.

assignmentOid: 401                                                                 (1)
contractId: STG-2020                                                               (2)
collaborator: john-doe                                                             (3)
efforts:                                                                           (4)
    -
        date: 2021-06-25                                                           (5)
        duration: 60                                                               (6)
        text: >                                                                    (7)
            The effort is related to the _development_ of the new product catalog.
    -
        date: 2021-06-26
        duration: 120
        text: >
            The effort is related to the _development_ of the new product catalog.
1 Unique object identifier of the assignment. The human-readable identifier is not used because it is not unique.
2 Unique identifier of the contract. The human-readable identifier shall be unique. Each contract is associated with a digital product development. Multiple assignments can be associated with a contract. Multiple contracts can be associated with a product development. We use the term product and not project to emphasize the focus on digital products.
3 Unique internal identifier of the collaborator. The human-readable identifier shall be unique. It is typically available in companies to distinguish collaborators with the same first and last name.
4 List of efforts. At most one effort per day, collaborator, assignment and contract should be created.
5 Date of the effort in ISO format. The date should be in the duration range of the assignment. If not the effort is ignored.
6 Duration of the effort in minutes.
7 Description of the effort using the asciidoc syntax.

The efforts are imported through the user interface. The assignment view provides a business operation to import efforts in the context menu.

effort-import

Efforts are reported per collaborator, assignment and date interval.

Effort Reporting

Collaborator activities are grouped per assignment and often per month to generate an activity report and associated invoice.

effort-report

Product Effort Aggregation

Each tab has a date range selection field.

contracts

Sum of efforts order by contract identifier

  • Sum all efforts per contractId for the product in a contract tab

  • Sum all efforts for the product in overall in a contract tab

collaborators

Sum of efforts order by collaborator internal id

  • Sum all efforts per collaborator for a specific contract id for the product in a collaborar tab

  • Sum all efforts per collaborator for the product in a collaborator tab

assignments

Sum of efforts order by assignment oid

  • Sum all efforts per assignment for the product in an assignment tab

Invoices

invoice-import
invoice-report