Skip to content

lwestenberg/moneybird-time-cli

Repository files navigation

Moneybird Time CLI

CLI that makes it easy to add Moneybird time entries

Installation

  • Install Node and NPM
  • Execute npm i

Configuration

Copy config.example.yaml to config.yaml

General warning: All administrationId, userId, project, contact values should be within double quotes.

rememberLastDate Can be set to true when the last end date+time should be used as the start date+time for the next entry.

Setup Moneybird details

Inside the moneybird section, add the following:

Presets

Create one or multiple presets, these consist of a unique key and as values:

  • description: will be added to the time entry in Moneybird
  • project: the project id, get it from the URL by clicking on a project in Administration settings -> projects or get it with the API: https://developer.moneybird.com/api/projects/
  • contact: the contact id, get it from the contact detail page URL or with the API: https://developer.moneybird.com/api/contacts/
  • billable: true/false, is the project billable
  • defaults: one or more default settings, read the Defaults section for more information.

Preset groups

You can create groups of presets. This makes it easy to create e.g. a default workflow to enter all time entries for a specific working day type. The key should be unique, the value can be the key of a preset or a defaults object.

Defaults

You can configure defaults on 3 levels in the config:

  • top level: the fallback/main defaults
  • preset: defaults for a preset
  • preset group: defaults for a value of a preset group

Defaults are:

  • preset: the identifier of the preset
  • startOffset: the offset in minutes from now of the start time
  • startTime: a fixed time that the entry should have, combined with the current date
  • pausedDuration: the pause duration in minutes
  • endOffset: the offset in minutes from now of the end time

Summary

You can output a summary table for:

  • edit: true/false, when you edit an entry
  • menu: false, when you enter the menu
  • remove: true, when you remove an entry
  • send: true, before you confirm sending the entries to Moneybird

Running

Execute npm start