Skip to main content

QuoJob Integration

Sync jobs, offers, time entries, and absences between QuoJob and awork using a technical user account to unify planning and billing without duplicating data

Sync jobs, tasks, time entries, and absences between Fortes QuoJob and awork to avoid maintaining the same data twice.


Key benefits and use cases

The QuoJob integration connects your planning and work in awork with your billing in QuoJob.

  • Jobs become projects: Every QuoJob job you mark for syncing becomes an awork project. Its commissioned offers become task lists and tasks. Each project links to its job and uses the job number as its project key.

  • Time entries are sent back: Time entries recorded in awork are created, updated, or deleted as hour bookings on the corresponding QuoJob job and service type.

  • Absences are brought over: Approved vacation and sick leave can be imported from QuoJob as awork absences.

This means your team doesn't have to maintain project data twice and can work with the information it needs in each tool.


How the QuoJob integration works

QuoJob sends the plan to awork, and awork sends time entries back.

Three data flows run from QuoJob to awork every time QuoJob is checked. Time entries flow in the other direction as soon as someone saves them.

  • QuoJob → awork: Jobs, offers, and optionally vacation and sick leave are transferred regularly

  • awork → QuoJob: Saved, updated, or deleted time entries are transferred directly

  • Linking: The awork project contains a link to the QuoJob job. QuoJob receives a link to the awork project.


What you need to set up the integration

Prepare the following in QuoJob before setting up the integration.

RequirementPurposeOwner
Your QuoJob addressThe URL of your QuoJob installation, for example https://quojob.example.com/q40_pm.You
A technical QuoJob userawork reads and writes QuoJob data through this user. They need read access to jobs, offers, employees, service types, vacation, and sick leave; permission to view sales prices (awork uses these to read the components of a composite service); and permission to book hours for other employees.Your QuoJob admin
An Application KeyQuoJob only allows API access with a key issued by QuoTec.QuoTec
Checkbox attribute Sync zu awork on the jobCheck this for every job you want to appear in awork.Your QuoJob admin
Text attribute awork Projekt on the jobawork enters the link to the awork project here, so you can open awork directly from the job.Your QuoJob admin
Matching email addressesawork matches people by email: the internal email address in QuoJob must match the work email address in awork.Your QuoJob and awork admins
A fallback user (optional)A QuoJob user to whom awork books time entries for people who don't have their own QuoJob user, such as freelancers who are external users in awork. They need permission to book hours on all synced jobs.Your QuoJob admin
Templates for each job type (optional)An awork project template whose name exactly matches a QuoJob job type is used for new projects of that type.Your awork admin

You can give the two attributes different names. If you do, let us know what they are. awork can't create attributes in QuoJob, so they must already exist before setup.


How to set up the integration

awork Support will connect QuoJob for you.

  1. Prepare all the requirements listed in What you need to set up the integration.
  2. Choose the integration options you want.
  3. In awork, open Einstellungen (the gear icon at the bottom left of the main menu) > Integrationen, select QuoJob, and contact awork Support through the dialog.
  4. Send Support your QuoJob address, the username and password of the technical user, the Application Key, and your chosen options. Use a secure channel for this, never a regular email.
  5. awork checks the connection, login, and whether both attributes exist. If you use a fallback user, awork also checks that exactly one active QuoJob user has that email address.
  6. Enable Sync zu awork on a test job.
  7. After the next sync interval, check that the project appears in awork and that awork Projekt contains the project link.
  8. Record a short time entry on a task in that project and check the hour booking in QuoJob.
  9. If everything looks good, enable Sync zu awork for the remaining jobs.

Which options can you choose?

OptionDefaultWhat it does
Sync interval5 minutesHow often awork checks QuoJob for changes. You can choose an interval from 1 minute to 24 hours.
Default project templateNoneA new project gets the awork template with the same name as its job type. If there's no matching template, it gets this default template.
SubjobsSeparate projectEach subjob gets its own awork project. Alternatively, you can group subjobs in the project for their parent job. See Good to know.
AbsencesOffImports approved vacation and sick leave from QuoJob as awork absences.
Start date for time entriesNoneTime entries before this date are never booked in QuoJob. This prevents old awork time entries from being added to QuoJob.
Task name in booking textOffThe hour booking text starts with the task name, followed by the time entry note.
Fallback userOffThe email address of a QuoJob user. awork books time entries for people without a QuoJob user to this user, and the booking text starts with the person's name, for example [Erika Musterfrau] Kickoff.

Decide how to handle subjobs before the first sync. If you change this option later, it will only apply to subjobs that haven't been synced yet. Subjobs that have already been synced stay where they are, along with their tasks and time entries.


What gets synced

QuoJob sends the plan to awork. awork sends time entries back.

In QuoJobIn aworkDirectionDetails
Job with Sync zu awork checkedProjectQuoJob → aworkName: "Number - Title". Customer taken from the job's customer and created in awork if it doesn't already exist. Start and due dates taken from the job's start and end dates. Project type taken from the job type if awork has a type with the same name.
Job numberProject keyQuoJob → aworkFor new projects only. Task keys then look like HEC-0022-24-7, so you can find a job's tasks using its number.
Job typeProject templateQuoJob → aworkFor new projects only: the awork template with the same name as the job type, or your default template if there isn't one.
Job pageCustom field QuoJob JobQuoJob → aworkA link on every synced project that opens the job in QuoJob. awork creates the field.
Project Manager and job employeesProject membersQuoJob → aworkThe Project Manager becomes the responsible member. Only people with a matching email address are added.
Headline in a commissioned offerTask listQuoJob → aworkThe same headline in multiple offers for a job is grouped into one task list.
Offer items without a headlineTask listQuoJob → aworkName: "Offer title (offer number)".
Offer itemTaskQuoJob → aworkName and description are taken from the item. The service type becomes the awork activity type. Optional items are skipped.
Hourly services in a composite serviceSubtasksQuoJob → aworkA composite service is a QuoJob service made up of other services, for example, "SEO Paket M" = 6 h consulting + 8 h frontend + 8 h project management + 6 h layout. Each hourly service in it becomes a subtask, with its hours as the planned effort. Materials and other components without hours don't get a subtask.
Planned hours for offer itemsPlanned effort and project budgetQuoJob → aworkFor internal hour services (hours) only: the quantity in hours. For the day unit, awork calculates quantity × the hours specified for the service type. For a composite service, the subtasks carry the hours and the task itself has none. The project budget is the sum of all tasks and subtasks.
Hour bookingTime entryawork → QuoJobCreated, updated, and deleted together with the awork time entry.
Approved vacationAbsenceQuoJob → aworkHalf days are supported for single-day vacation. The comment becomes the description.
Full-day sick leaveAbsenceQuoJob → aworkSick leave for part of a day is skipped.
Attribute awork ProjektProject linkawork → QuoJobOpens the awork project directly from the job.

Only commissioned offers are synced, including offers commissioned internally. Uncommissioned and canceled offers remain in QuoJob.

How awork chooses the service type for an hour booking. QuoJob only accepts hours for hourly services. awork uses the first matching option:

  • The service type linked to the task: the one for a subtask, or the one for the offer item if it accepts hours.
  • A QuoJob hourly service with the same name as the awork activity type of the time entry.
  • The person's productive default service type in QuoJob. For time entries booked to the fallback user, awork uses the fallback user's productive default service type.

Time entries on awork projects without a linked QuoJob job stay in awork. A running timer is booked as soon as it stops.


When synchronization happens

Time entries reach QuoJob within seconds. Changes in QuoJob reach awork at the next check, which happens every 5 minutes by default.

DataSynchronization
Jobs, quotes, and employees (QuoJob → awork)At every check, every 5 minutes by default. QuoJob can't notify awork about changes, so awork checks regularly.
Absences (QuoJob → awork)At the same check. awork reads absences from 60 days in the past to 400 days in the future.
Time entries (awork → QuoJob)Right after someone saves, changes, or deletes a time entry.
Nightly reconciliationOnce per night between 2 and 5 a.m. UTC (4 and 7 a.m. German summer time). awork books any entries from the last 24 hours that didn't come through, and removes bookings whose awork entry was deleted.
Manual resyncOn request. awork Support can resend time entries for a single entry, a date range, the last few days, or a project.

awork only checks active jobs. If a job moves to the completed jobs in QuoJob, for example, Completed, Canceled, or Inactive, synchronization for that job stops, and the awork Projekt stays as it is.


Editing synchronized data

Change the plan in QuoJob and the work in awork. Each tool controls specific fields, and synchronization overwrites changes made on the other side.

ObjectControlled by QuoJobYou can freely change in awork
ProjectName, start date, due date, and time budget. awork resets these at every check.Project key, description, customer, project type, color, status, visibility, and all other settings
Project membersEmployees assigned to the job in QuoJob. If you remove someone in awork, they'll be added again at the next check.Add more members. Synchronization never removes anyone.
Task listWhich lists exist. If you delete a list in awork, it and its tasks will be added again.Name and order
Task and subtaskName, description, and planned effort, but only if the position or Aufbauleistung changes in QuoJobStatus, assignees, priority, start and due dates, order, list, your own subtasks, comments
Time entryNothingEverything. Correct time entries in awork: the next change in awork overwrites the time booking in QuoJob. If you move an entry to a project without a QuoJob job, awork deletes its booking.
AbsenceDates, half-day status, and commentNothing: change absences in QuoJob.

A task you delete in awork stays deleted, along with its subtasks, until its position changes in QuoJob. A deleted subtask comes back if its hours change. If you remove a position in QuoJob, its task stays in awork, so delete that task in awork too.


Good to know

  • Subjobs with their own project (default). Each checked subjob gets its own awork Projekt. If its parent job is also synchronized, the QuoJob Hauptprojekt field in awork links to the parent job's project.
  • Merged subjobs. Checked subjobs become task lists in their parent job's project, with the subjob number at the beginning of the name. Their tasks use the parent job's project key, and the QuoJob Job link opens the parent job. Time on these tasks is still booked to the subjob in QuoJob. If the parent job is completed, synchronization of its merged subjobs stops too.
  • Stop synchronizing a job. Uncheck Sync zu awork. The awork Projekt stays, and QuoJob will no longer update it.
  • Deleted projects. If you delete a synchronized project in awork, awork won't create it again. awork Support can restore it, and synchronization will continue with that project. To create a new project, uncheck the box on the job, wait for a check, then check it again.
  • Completed jobs. If a job moves to the completed jobs in QuoJob, awork leaves the project open. Close or archive it yourself in awork.
  • Canceled quotes. Their tasks stay in awork. Delete them there if the work is no longer needed.
  • Job link. The QuoJob Job link only shows the job if you're logged in to QuoJob. Otherwise, QuoJob shows the login page and then the home page. Click the link again after logging in.
  • Project key. awork uses the job number only when it creates a project. If the number is longer than 32 characters or another project already uses that key, awork creates its own. Changing the job number won't change the key, so existing task keys remain valid.
  • Templates by job type. The template only applies when awork creates a project. Changing the job type won't change existing projects.
  • Changed composite services. QuoJob gets the components of a composite service from the job's price list. If you change a composite service in QuoJob, the subtasks and budget also change for jobs that ordered it previously. If you remove a service type from a composite service, its subtask and time entries stay, but it loses its planned effort.
  • Time on a composite service task. QuoJob doesn't accept hours on a composite service itself. awork therefore books time on that task to the person's default productive internal hour services. Enter time on the subtasks so it's booked to the correct service type.
  • Employees without a matching email address. They won't be added to projects, and their absences won't be transferred. Their time entries only reach QuoJob through a fallback user.
  • Fallback user. If someone later gets their own QuoJob user, their bookings will be moved there the next time they make a change or a resync is run. Bookings for people whose assignment is later removed, for example when they leave the company, stay where they are. awork won't automatically book older failed time entries, so ask Support for a resync. If you change a fallback booking in QuoJob, the next change in awork overwrites it.
  • Booking level. Hours are booked in QuoJob to the job and service type, not to the individual quote position.
  • Start and end time. If a time entry starts and ends on the same day, QuoJob receives both times. Otherwise, QuoJob receives the date and the hours.
  • Vacation requests. Requested vacation appears in awork only after it's approved. Canceled or rejected vacation disappears from awork.

Troubleshooting

Most issues have three causes: a missing checkbox, a quote that hasn't been ordered yet, or an email address that doesn't match.

IssueWhat to check
A job doesn't appear in aworkIs Sync zu awork checked? Is the job active? Wait for the next check, which happens every 5 minutes by default.
No jobs are synchronizingWas an attribute renamed or deleted in QuoJob? Was the technical user's password changed? Tell awork Support the new name or password.
A project has no tasksHas the quote been ordered or internally commissioned? Are the positions marked as optional?
A task has no planned effortOnly internal hour services have planned effort. Other service types create a task without effort. For a composite service, the hours are on the subtasks.
A composite service has no subtasksIs the technical user allowed to see sales prices? Only hourly services within the composite service become subtasks.
The project key isn't the job numberThe project was created before awork started using job numbers as keys, the number is longer than 32 characters, or another project is already using the key.
The QuoJob Job link opens the home pageLog in to QuoJob and click the link again.
A time entry is missing in QuoJobIs the project linked to a QuoJob job? Does the person's email address match, or is a fallback user set up? Do the task, service type, or the person's default service type map to a QuoJob hourly service? Is the entry before the time-entry start date? After a connection error, awork waits until Support has checked QuoJob to make sure nothing is booked twice.
Time on a composite service is booked to the wrong service typeQuoJob doesn't accept hours on a composite service. Enter time on the subtasks instead.
A time booking changed backYou edited it in QuoJob. Correct time entries in awork instead.
A person is missing from a projectDoes their internal email address in QuoJob match their work email address in awork? Hidden QuoJob employees are skipped.
A deleted task list came backThe list still exists in QuoJob. Change the quote in QuoJob to remove it permanently.
An absence is missingIs absence syncing enabled? Has the vacation been approved? Sick leave for part of a day is skipped.

Still stuck? Contact awork Support with the job number or time entry. Support can see a log for every job and time entry and can resend time entries to QuoJob.


FAQ

What data is synchronized between QuoJob and awork?

Jobs, accepted quotes, employees, and optionally absences are transferred from QuoJob to awork. Time entries are sent back from awork to QuoJob.

How often does awork check QuoJob?

Every 5 minutes by default. You can set the interval to anywhere between 1 minute and 24 hours.

Can I enable synchronization for individual jobs?

Yes. To do this, select the Sync zu awork checkbox for the relevant job in QuoJob.

Why isn't a quote transferred as a task?

Only accepted quotes and quotes commissioned internally are synchronized. Unaccepted or canceled quotes, as well as optional items, aren't transferred.

Where should I log time?

Log your time in awork. For an Aufbauleistung, log time on the subtasks so that the correct service type is used.

Can I correct time entries in QuoJob?

Make corrections in awork. Any later changes in awork can overwrite the time entry in QuoJob.

What happens when a job is completed in QuoJob?

Synchronization stops. The existing awork Projekt remains and must be closed or archived there separately.

Last updated HappySupportPowered by happysupport.ai
© 2026 HappySupport. All rights reserved.
HappySearch can make mistakes.

Sources

No articles yet

Search to see source articles