Overview
Deltek Maconomy is a professional-services ERP – jobs (projects), timesheets, expense sheets, employees, budgets, and invoicing. The Automize Maconomy connector talks to Maconomy's REST API so you can automate weekly timesheet submission, expense capture, job lookups, and invoice listing from inside an RPA process. Built against Maconomy Enterprise Cloud; on-prem deployments with the same REST endpoints work too.
- Regions: Cloud customers (Deltek-hosted) and on-prem deployments are both supported. The connector uses the customer's own Maconomy hostname – pick yours when you create the connection.
- Plans: Any Maconomy deployment with the REST API enabled. Most modern Enterprise Cloud tenants have it on by default; on-prem may need the REST module licensed.
Setting up the connection
Auth type: HTTP Basic.
- Ask your Maconomy administrator to create a service account dedicated to Automize. Personal accounts work but break when the user leaves.
- Confirm the service account has read/write permission on the modules you want to automate (Jobs, Time Sheets, Expense Sheets, Employees, Invoices).
- In Automize, open Settings → Connectors → Maconomy → Add connection. Enter the Maconomy hostname, the service account username, and its password.
- Click Test. The connector calls a lightweight health check against your tenant – green tick means you're live.
Find your credentials at https://yourcompany.deltekenterprise.com/.
Rate limits
Maconomy itself does not advertise a public rate limit. The Automize side caps Maconomy connector calls at 600 requests per minute per API key (introduced in V185) so a runaway process can't take your tenant down. Sustained ingestion (e.g. nightly job sync) should batch list calls – page with limit=200 rather than firing per-row gets.
Data model
Jobs are the central object. Time and expenses are recorded against a Job
and rolled into invoices on that Job.
Employee ─┐
├─ Timesheet ── Timesheet Lines ─┐
├─ Expense Sheet ── Expense Lines ├─ Job ── Budget Lines
└─ ... └─ Invoices
A Timesheet is a weekly container (one per employee per week). Lines on
the timesheet are individual time entries against jobs. The same shape
applies to Expense Sheets. Both must be submitted before they roll into
invoicing.Available operations
57 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Add Item Supplier | General | Append a supplier line to an item (itemsuppliers). |
| Add Journal Line | General | Append an entry line to a general journal's table pane. |
| Add Price List Line | General | Append a price line to a price list's table pane. |
| Add Table Line | General | Append a line to a record's table pane (e.g. a timesheet line or journal entry). |
| Add Timesheet Line | General | Add a time-entry line to an employee's timesheet for a period. |
| Run Card Action | General | Fire a workflow action (submit/approve/post/close/reopen/reject) on a loaded record. |
| Create Customer | General | Create a customer/prospect (customercard), optionally submitting/approving it. |
| Create Employee | General | Create an employee record. |
| Create Item | General | Create an item (itemcard). |
| Create Job | General | Create a job/project, optionally submitting/approving it. |
| Create Journal | General | Create a general-journal header. |
| Create Price List | General | Create a price-list header. |
| Create Record | General | Create a card record in any container, optionally submitting/approving it. |
| Create User | General | Create a Maconomy user. |
| Delete Customer | General | Delete a customer (customercard) by customer number. |
| Delete Employee | General | Delete an employee record by employee number. |
| Delete Item | General | Delete an item (itemcard) by item number. |
| Delete Job | General | Delete a job/project by job number. |
| Delete Journal | General | Delete a general journal by journal number. |
| Delete Price List | General | Delete a price list by number and issue. |
| Delete Record | General | Delete a card record from any container by key. |
| Delete User | General | Delete a user by user name. |
| Describe Container | General | Return the live, per-install field catalog for a container – field names, types, titles, required/read-only flags and enum options – so a designer can render typed form fields instead of a freeform data object. Reads the container's configuration metadata (read-only). |
| Download File (File Drop) | General | Download a Maconomy file-drop URL (e.g. a printed PDF) to the local machine. |
| Filter Records | General | Query any container with a fields/restriction/order/paging filter (read-only). |
| Get Account | General | Load a single GL account (accountcard) by account number – read-only filter query. |
| Get Customer | General | Load a single customer by customer number. |
| Get Employee | General | Load a single employee by employee number. |
| Get Item | General | Load a single item (itemcard) by item number. |
| Get Job | General | Load a single job/project by job number. |
| Get Journal | General | Load a single general journal by journal number. |
| Get Price List | General | Load a single price list by number and issue. |
| Get Record | General | Load a single record from any container by key (read-only). |
| Get Timesheet | General | Load a timesheet (header + lines) for an employee and period. |
| Get User | General | Load a single user by user name. |
| Get Vendor | General | Load a single vendor (vendorcard) by vendor number – read-only filter query. |
| List Accounts | General | List GL accounts (accountcard) – read-only filter query. |
| List Customers | General | List customers/prospects (customercard). |
| List Employees | General | List employees. |
| List Item Suppliers | General | List the supplier lines for an item (itemsuppliers). |
| List Items | General | List items (itemcard). |
| List Jobs | General | List jobs/projects (excludes templates). |
| List Price Lists | General | List price-list headers. |
| List Timesheets | General | List timesheet periods. |
| List Users | General | List Maconomy users. |
| List Vendors | General | List vendors (vendorcard) – read-only filter query. |
| Print Record to PDF | General | Fire a record's print action and download the generated PDF to the local machine. |
| Submit Timesheet | General | Submit an employee's timesheet for approval. |
| Update Customer | General | Update fields on an existing customer (customercard). |
| Update Employee | General | Update fields on an existing employee record. |
| Update Item | General | Update fields on an existing item (itemcard). |
| Update Job | General | Update fields on an existing job/project. |
| Update Journal | General | Update fields on an existing general-journal header. |
| Update Price List | General | Update fields on an existing price list (by number and issue). |
| Update Record | General | Update fields on an existing card record in any container. |
| Update User | General | Update fields on an existing user. |
| Upload File (File Drop) | General | Upload a local file to a Maconomy file drop; returns the file-drop URL for a card action. |
Operations
Add Item Supplier
Append a supplier line to an item (itemsuppliers).
| Parameter | Required | Type | Description |
|---|---|---|---|
Item Number item_number | Yes | string | The itemnumber to load. |
Data data | Yes | object | Supplier line fields, e.g. {"suppliernumber": "V1", "supplieritemnumber": "X"}. |
Row Position row | No | string | Line position for line-numbered table panes: a dot index (e.g. "0") or "end" to append. Required for panes with line-number control (e.g. timesheet/journal lines); omit for unordered panes. |
Add Journal Line
Append an entry line to a general journal's table pane.
| Parameter | Required | Type | Description |
|---|---|---|---|
Journal Number journal_number | Yes | string | The journalnumber to load. |
Data data | Yes | object | Journal line fields; amounts are in HUNDREDTHS (100 = 1.00, §2.7.3). |
Row Position row | No | string | Line position for line-numbered table panes: a dot index (e.g. "0") or "end" to append. Required for panes with line-number control (e.g. timesheet/journal lines); omit for unordered panes. |
Add Price List Line
Append a price line to a price list's table pane.
| Parameter | Required | Type | Description |
|---|---|---|---|
Price List Number pricelist_number | Yes | string | The pricelistnumber to load. |
Issue issue | Yes | string | The price list issue – part of the compound key with pricelist_number. |
Data data | Yes | object | Price line fields, e.g. {"itemnumber": "I1", "price1": 9.99}. |
Row Position row | No | string | Line position for line-numbered table panes: a dot index (e.g. "0") or "end" to append. Required for panes with line-number control (e.g. timesheet/journal lines); omit for unordered panes. |
Add Table Line
Append a line to a record's table pane (e.g. a timesheet line or journal entry).
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | Yes | string | Key of the parent record to append the line to. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row Position row | No | string | Line position for line-numbered table panes: a dot index (e.g. "0") or "end" to append. Required for panes with line-number control (e.g. timesheet/journal lines); omit for unordered panes. |
Add Timesheet Line
Add a time-entry line to an employee's timesheet for a period.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Number employee_number | Yes | string | The employeenumber. |
Period Start period_start | Yes | string | Period start, e.g. date(2023,10,23). |
Data data | Yes | object | Line fields, e.g. {"jobnumber": "J1", "numberday1": 8}. |
Row Position row | No | string | Line position for line-numbered table panes: a dot index (e.g. "0") or "end" to append. Required for panes with line-number control (e.g. timesheet/journal lines); omit for unordered panes. |
Run Card Action
Fire a workflow action (submit/approve/post/close/reopen/reject) on a loaded record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | Yes | string | Record key selector, e.g. "jobnumber=200200025" or compound "employeenumber=105106;periodstart=date(2023,10,23)". Omit to load the first/any record in the container. |
Action action | Yes | string | Action name from the record's links, e.g. submit, approve, post, close, reopen, reject. |
Data data | No | object | Optional field→value object sent with the action. |
Arguments arguments | No | object | Application-action arguments (Expression Language), e.g. {"day": "date(2020,12,31)"}. |
File URLs files | No | list | File Drop URLs (from upload_file) to attach to the action via Maconomy-File-Callback. |
Create Customer
Create a customer/prospect (customercard), optionally submitting/approving it.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Create Employee
Create an employee record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Create Item
Create an item (itemcard).
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Create Job
Create a job/project, optionally submitting/approving it.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Create Journal
Create a general-journal header.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Create Price List
Create a price-list header.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Create Record
Create a card record in any container, optionally submitting/approving it.
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Create User
Create a Maconomy user.
| Parameter | Required | Type | Description |
|---|---|---|---|
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Delete Customer
Delete a customer (customercard) by customer number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer Number customer_number | Yes | string | The customernumber to load. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Employee
Delete an employee record by employee number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Number employee_number | Yes | string | The employeenumber. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Item
Delete an item (itemcard) by item number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Item Number item_number | Yes | string | The itemnumber to load. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Job
Delete a job/project by job number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Job Number job_number | Yes | string | The jobnumber to load. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Journal
Delete a general journal by journal number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Journal Number journal_number | Yes | string | The journalnumber to load. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Price List
Delete a price list by number and issue.
| Parameter | Required | Type | Description |
|---|---|---|---|
Price List Number pricelist_number | Yes | string | The pricelistnumber to load. |
Issue issue | Yes | string | The price list issue – part of the compound key with pricelist_number. |
Row row | No | integer | Card row index to delete (default 0). |
Delete Record
Delete a card record from any container by key.
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | Yes | string | Record key selector, e.g. "jobnumber=200200025" or compound "employeenumber=105106;periodstart=date(2023,10,23)". Omit to load the first/any record in the container. |
Row row | No | integer | Card row index to delete (default 0). |
Delete User
Delete a user by user name.
| Parameter | Required | Type | Description |
|---|---|---|---|
User Name name_of_user | Yes | string | The nameofuser to load. |
Row row | No | integer | Card row index to delete (default 0). |
Describe Container
Return the live, per-install field catalog for a container – field names, types, titles, required/read-only flags and enum options – so a designer can render typed form fields instead of a freeform data object. Reads the container's configuration metadata (read-only).
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Pane pane | No | string | Restrict to one pane (card or table). Omit for all panes. |
Download File (File Drop)
Download a Maconomy file-drop URL (e.g. a printed PDF) to the local machine.
| Parameter | Required | Type | Description |
|---|---|---|---|
File URL url | Yes | string | File Drop download URL (e.g. from print_record or a Link header). |
Save Path save_path | Yes | string | Local destination path. |
Filter Records
Query any container with a fields/restriction/order/paging filter (read-only).
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false and template = false". |
Order By order_by | No | list | Sort spec, list of objects e.g. [{"field": "jobnumber", "ascending": true}]. |
Offset offset | No | integer | Row offset (default 0). |
Limit limit | No | integer | Max rows (default 100). |
Get Account
Load a single GL account (accountcard) by account number – read-only filter query.
| Parameter | Required | Type | Description |
|---|---|---|---|
Account Number account_number | Yes | string | The accountnumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Customer
Load a single customer by customer number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer Number customer_number | Yes | string | The customernumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Employee
Load a single employee by employee number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Employee Number employee_number | Yes | text | |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Tips
- Lookup by employee_number, not internal ID.
- Returned employee record includes manager_number – use it to chain to the manager's profile for approval flows.
Get Item
Load a single item (itemcard) by item number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Item Number item_number | Yes | string | The itemnumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Job
Load a single job/project by job number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Job Number job_number | Yes | text | |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Tips
- job_number is the Maconomy job identifier (not the UUID). Look in the Jobs module to find it.
- Returns the job header plus references to invoices and budget lines. Pull budget lines via List Job Budgets when needed.
Get Journal
Load a single general journal by journal number.
| Parameter | Required | Type | Description |
|---|---|---|---|
Journal Number journal_number | Yes | string | The journalnumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Price List
Load a single price list by number and issue.
| Parameter | Required | Type | Description |
|---|---|---|---|
Price List Number pricelist_number | Yes | string | The pricelistnumber to load. |
Issue issue | Yes | string | The price list issue – part of the compound key with pricelist_number. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Record
Load a single record from any container by key (read-only).
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | No | string | Record key selector, e.g. "jobnumber=200200025" or compound "employeenumber=105106;periodstart=date(2023,10,23)". Omit to load the first/any record in the container. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Timesheet
Load a timesheet (header + lines) for an employee and period.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Employee Number employee_number | Yes | string | The employeenumber. |
Period Start period_start | Yes | string | Period start, e.g. date(2023,10,23). |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Tips
- Returns header (week, status, employee) plus the timesheet lines.
- Status values you care about: draft (in-progress), submitted (awaiting approval), approved, rejected.
Get User
Load a single user by user name.
| Parameter | Required | Type | Description |
|---|---|---|---|
User Name name_of_user | Yes | string | The nameofuser to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Get Vendor
Load a single vendor (vendorcard) by vendor number – read-only filter query.
| Parameter | Required | Type | Description |
|---|---|---|---|
Vendor Number vendor_number | Yes | string | The vendornumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
List Accounts
List GL accounts (accountcard) – read-only filter query.
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
List Customers
List customers/prospects (customercard).
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
List Employees
List employees.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
Tips
- Employee data includes employee_number, name, manager. Useful for routing approvals.
- Inactive employees are returned by default. Filter on Active=true if you only want current staff.
List Item Suppliers
List the supplier lines for an item (itemsuppliers).
| Parameter | Required | Type | Description |
|---|---|---|---|
Item Number item_number | Yes | string | The itemnumber to load. |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Limit limit | No | integer | Max rows (default 100). |
List Items
List items (itemcard).
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
List Jobs
List jobs/projects (excludes templates).
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Extra filter expression (combined with template = false). |
Limit limit | No | integer | Max rows (default 100). |
Tips
- List returns containers + headers only. Use Get Job for full detail incl. budget lines.
- Filter via standard Maconomy filter syntax on the URL (e.g. ?filter=customerName eq 'Acme').
- Heavy tenants page slowly – request limit=200 and iterate until the response's next link is empty.
List Price Lists
List price-list headers.
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
List Timesheets
List timesheet periods.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
Tips
- Returns weekly containers, one row per employee-week. Lines are not included – call Get Timesheet for those.
- Default scope is the calling user's own timesheets. Service accounts with company-wide read return all employees'.
List Users
List Maconomy users.
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
List Vendors
List vendors (vendorcard) – read-only filter query.
| Parameter | Required | Type | Description |
|---|---|---|---|
Fields fields | No | list | Field names to return. Strongly recommended – Maconomy filters expect an explicit column list, e.g. ["jobnumber", "jobname", "customernumber"]. |
Restriction restriction | No | string | Maconomy filter expression, e.g. "blocked = false". |
Limit limit | No | integer | Max rows (default 100). |
Print Record to PDF
Fire a record's print action and download the generated PDF to the local machine.
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | Yes | string | Record key selector, e.g. "jobnumber=200200025" or compound "employeenumber=105106;periodstart=date(2023,10,23)". Omit to load the first/any record in the container. |
Row row | No | integer | Card row index to print (default 0). |
Save Path save_path | Yes | string | Local path to write the generated PDF. |
Submit Timesheet
Submit an employee's timesheet for approval.
| Parameter | Required | Type | Description |
|---|---|---|---|
Api Version api_version | Yes | text | |
Employee Number employee_number | Yes | string | The employeenumber. |
Period Start period_start | Yes | string | Period start, e.g. date(2023,10,23). |
Tips
- Moves the timesheet from draft → submitted and notifies the approver.
- Trying to submit a timesheet with zero lines fails – Maconomy requires at least one line.
- Once submitted, the timesheet is read-only until the approver actions it.
Errors
EMPTY_TIMESHEET– Timesheet has no lines.ALREADY_SUBMITTED– Timesheet has already been submitted.
Update Customer
Update fields on an existing customer (customercard).
| Parameter | Required | Type | Description |
|---|---|---|---|
Customer Number customer_number | Yes | string | The customernumber to load. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Update Employee
Update fields on an existing employee record.
| Parameter | Required | Type | Description |
|---|---|---|---|
Employee Number employee_number | Yes | string | The employeenumber. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Update Item
Update fields on an existing item (itemcard).
| Parameter | Required | Type | Description |
|---|---|---|---|
Item Number item_number | Yes | string | The itemnumber to load. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Update Job
Update fields on an existing job/project.
| Parameter | Required | Type | Description |
|---|---|---|---|
Job Number job_number | Yes | string | The jobnumber to load. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Update Journal
Update fields on an existing general-journal header.
| Parameter | Required | Type | Description |
|---|---|---|---|
Journal Number journal_number | Yes | string | The journalnumber to load. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Update Price List
Update fields on an existing price list (by number and issue).
| Parameter | Required | Type | Description |
|---|---|---|---|
Price List Number pricelist_number | Yes | string | The pricelistnumber to load. |
Issue issue | Yes | string | The price list issue – part of the compound key with pricelist_number. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Update Record
Update fields on an existing card record in any container.
| Parameter | Required | Type | Description |
|---|---|---|---|
Container container | Yes | string | Maconomy container (table) name, e.g. jobs, employees, customercard, vendorcard, itemcard, accountcard, generaljournal, timesheets, pricelists. Lower-case; ssa containers use a colon (ssa:find_ssa_...). |
Record Key key | Yes | string | Record key selector, e.g. "jobnumber=200200025" or compound "employeenumber=105106;periodstart=date(2023,10,23)". Omit to load the first/any record in the container. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Submit submit | No | boolean | Fire the record's submit action afterwards. |
Approve approve | No | boolean | Fire the record's approve action afterwards. |
Update User
Update fields on an existing user.
| Parameter | Required | Type | Description |
|---|---|---|---|
User Name name_of_user | Yes | string | The nameofuser to load. |
Data data | Yes | object | Field→value object for the record or line, e.g. {"name1": "ACME"}. |
Row row | No | integer | Card row index to update (default 0). |
Upload File (File Drop)
Upload a local file to a Maconomy file drop; returns the file-drop URL for a card action.
| Parameter | Required | Type | Description |
|---|---|---|---|
File Path file_path | Yes | string | Local path of the file to upload. |
File Name filename | No | string | Override the stored file name (defaults to the local basename). |
FAQ
- Why does Test pass but my next call fails with 401?
- Maconomy basic-auth tokens are short-lived. The Test button just verifies the username/password against the auth endpoint; per-call requests get a fresh session. If you get 401 on real traffic, double-check the password didn't get URL-encoded or contain a stray space when entered.
- Can I use an MFA-protected account?
- No. The Maconomy REST API does not currently support MFA for service-account auth. You need a service account that's been MFA-exempted by Deltek Customer Care (file a ticket – they're familiar with the workflow for unattended integrations).
- Where do I find my Maconomy hostname?
- It's the same hostname you sign into Maconomy with – e.g. yourcompany.deltekenterprise.com. Enter the bare hostname without https:// or trailing slash.
- What's api_version and why is it required on every action?
- Maconomy's REST API versions endpoints per container (e.g. /jobs/v1, /jobs/v2). The connector lets each call pick a specific version so you can stay on a stable version across schema upgrades. Default to v1 unless you've been told otherwise.
- Does the connector support PSA (Project Services Automation) modules?
- Anything reachable via Maconomy's REST API works in principle. The current connector exposes the most common professional-services flows; if you need a specific PSA endpoint that isn't listed, raise it with the Automize team.