Category Archives: 000DOL

Accounting Management

Welcome to the NZRT Wiki Podcast. Today we’re looking at Accounting Management.

So, what is Accounting Management in the context of NZRT’s systems? At its core, it’s built around double-entry bookkeeping. That’s the foundational accounting principle where every financial transaction affects at least two accounts simultaneously — one gets debited and one gets credited. The system also covers your chart of accounts, journal entries, cost centres, and the management of accounting periods. Let’s walk through each of those in turn.

First up is the chart of accounts. Think of this as the master list of every financial category your organisation uses to record money moving in and out. It’s broken into five main groupings. You have assets, which are things the business owns or is owed. Then liabilities, which are what the business owes to others. Equity covers the ownership interest in the business — essentially what’s left over after liabilities are subtracted from assets. Revenue tracks the income coming in, and expenses track the money going out to run the business. Those five categories — assets, liabilities, equity, revenue, and expenses — form the backbone of everything else in the accounting system.

Next, let’s talk about journal entries. One of the most useful things about the system is that it generates many of these automatically for you. You don’t have to sit down and manually record every transaction. When you raise a customer invoice, for example, the system automatically debits accounts receivable — meaning it records that a customer owes you money — and at the same time credits your revenue account, recognising that income has been earned. When that customer pays you, the system then debits your bank account, showing cash has arrived, and credits accounts receivable to clear the debt. The same logic works on the supplier side. When you receive a supplier invoice, the system debits the relevant expense account and credits accounts payable, recording that you now owe money to that supplier. Then when you actually make that payment, it debits accounts payable to clear the obligation and credits your bank account to show the cash has gone out. So those four scenarios — customer invoice, payment received, supplier invoice, and payment made — are all handled automatically. That’s a significant time saver and it also reduces the risk of human error.

Now, cost centres. These are a really powerful feature if your organisation needs to understand financial performance at a more granular level than the whole business. A cost centre lets you segment your profit and loss reporting by department or by project. So if you’re running multiple business units, or if you want to see how a particular client project is tracking financially, cost centres give you that visibility. Instead of one big blurry picture of income and expenditure, you get a clear view of each segment on its own.

Fiscal year management is another important piece. The system tracks accounting periods as either open or closed. An open period is one you can still post transactions into. A closed period is locked — the books for that time are done and dusted. This matters a lot for compliance and reporting accuracy. You wouldn’t want someone accidentally posting a transaction into last financial year after you’ve already filed your returns, so the ability to close periods gives you that control and auditability.

And speaking of compliance, the system also handles VAT returns — or GST as it’s known in New Zealand. You can generate GST and VAT reports filtered by period, which makes preparing those returns straightforward. Rather than manually tallying up your taxable sales and purchases, the system pulls that together from the transactions already recorded in the journals.

It’s worth knowing that Accounting Management doesn’t sit in isolation. It connects directly with Bank Accounts Management, where your actual bank balances and transactions feed into the picture, and with Financial Reports, where all of this data gets surfaced in formats like profit and loss statements, balance sheets, and cash flow reports. So the work you do setting up your chart of accounts and managing your periods has a direct flow-on effect to the quality of your financial reporting.

To summarise, Accounting Management gives you a structured, automated double-entry system. Your chart of accounts defines the categories. Journal entries are generated automatically from invoices and payments. Cost centres let you slice your financials by department or project. Fiscal year management keeps your periods controlled and your records clean. And VAT reporting means your compliance obligations are built right into the workflow rather than being a separate manual exercise.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Administration

Welcome to the NZRT Wiki Podcast. Today we’re looking at Administration.

If you’ve ever wondered how the system is configured from the ground up — who gets access, which features are turned on, and how payments flow in and out — then this episode is for you. Administration is the control room of the entire platform, and understanding it means understanding how everything else fits together.

So let’s start with the big picture. Administration covers four main areas: users and groups, module setup, multi-company configuration, and security and permissions. Think of these as the four pillars holding everything up. Get them right, and the rest of the system runs smoothly. Miss one, and you’ll find yourself debugging problems that could have been avoided on day one.

Let’s walk through the key tasks in turn.

First up is company details. Before you do anything else, you want to make sure the system knows who you are. That means entering your company information, setting your currency — in NZRT’s case that’s New Zealand dollars — and confirming your timezone, which is set to Pacific Auckland. You’ll also want to configure your fiscal year here. This matters because reports, invoices, and financial summaries all depend on the system knowing your financial calendar. Get this wrong early and you’ll be correcting dates and totals down the track.

Next, let’s talk about module setup. One of the things that makes this platform flexible is that you can activate only the modules you actually need. That might sound obvious, but it’s worth emphasising: keeping your module list tight keeps the interface clean and the user experience focused. Every module you activate adds menu items, configuration options, and in some cases additional permissions to manage. So the guidance here is simple — only turn on what you’re actually going to use. You can always activate more later as your needs grow.

Now, users and groups. This is probably the area you’ll return to most often, especially as your team changes. The system uses role-based permissions, which means you assign users to roles, and those roles define what they can see and do. You don’t manage permissions user by user — you manage them at the role level, and users inherit what they need based on the group they belong to. This keeps things consistent and makes onboarding and offboarding much easier. When someone joins, you add them to the right group. When they leave, you deactivate their account, and their access disappears cleanly.

Related to users is the security and permissions area. This is where you control what each role can actually touch. It’s fine-grained enough to let you say something like: this person can view invoices but not edit them, or this group can manage contacts but not access financial reports. Taking the time to set this up carefully at the start saves a lot of headaches later, especially if you’re working with contractors or part-time staff who need limited access to specific parts of the system.

If you’re running more than one company under the same installation, you’ll want to look at the multi-company setup. This lets you manage separate entities — each with their own settings, users, and data — from a single system. It’s a more advanced configuration, but if you need it, it’s all handled from the administration panel rather than requiring separate installations.

A couple of other practical items are worth calling out. First, email configuration. You’ll need to set up your outgoing mail server, and the standard approach here is Gmail SMTP. Once that’s configured, the system can send invoices, notifications, and automated messages on your behalf. Second, payment methods and bank accounts. If you’re going to be raising invoices and tracking payments, the system needs to know which bank accounts and payment methods are available. This feeds directly into how financial transactions are recorded and reconciled.

Finally, it’s worth knowing that Administration connects to two other important areas of the platform. One is the general configuration section, which covers deeper system-level settings. The other is REST API access control, which is relevant if you’re integrating with external tools or automating tasks programmatically. Both of those are worth exploring once you’ve got your core administration settings locked in.

To recap: start with your company details and make sure currency, timezone, and fiscal year are correct. Activate only the modules you need. Create your users, assign them to groups, and set permissions at the role level. Configure your outgoing email, add your bank accounts and payment methods, and if you’re running multiple entities, set up multi-company from the start.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Agent Workflow In Dolibarr

Welcome to the NZRT Wiki Podcast. Today we’re looking at Agent Workflow in Dolibarr.

If you’ve ever wondered how NZRT’s virtual agents actually get things done inside the Dolibarr ERP system, this episode breaks that down from start to finish. There are eight agents in the NZRT system. You’ll hear them referred to by their short codes: cas, dai, dan, ema, fin, han, pam, and sun. Each one is a specialist, and Dolibarr is the central place where their work gets organised, tracked, and closed out.

So how does it all start? Everything begins with a ticket. When Claude, the orchestrating agent known as cla, or an automation script needs one of the eight agents to do something, it creates a Dolibarr ticket and assigns it to that agent. That assignment is done using a field that points directly to the agent’s user account inside Dolibarr. No ticket, no work. That’s the rule.

Now, each agent has their own personal API key stored securely in the credentials file on the local system. When an agent makes a request to Dolibarr, they include that key in the request header. The base address they connect to is the NZRT ERP server’s API endpoint. One important thing to know here: an agent’s personal key only gives them visibility of tickets assigned to them. If you need to create a ticket for an agent, or you need to read across all agents at once, you have to use the admin key belonging to xc, the system administrator account.

Let’s walk through what a normal working cycle looks like for an agent. First, the agent fetches their open tickets by calling the get-open-tickets function, passing in their API key and their user ID. That returns the list of things waiting for them. Second, the agent reads the ticket, looking at the subject, the body message, and the category, because that combination tells the agent exactly what kind of task they’re being asked to do. Third, the agent goes off and does the actual work. That might mean posting something to the forum, writing a blog summary, completing an analysis, or handling an intake request. Fourth, once the work is done or progress has been made, the agent records what they did by adding a message to the ticket. And fifth, when everything is wrapped up, the agent closes the ticket and records the resolution.

Now, the tickets themselves are created by a set of Python scripts that live in the main agent repository. There are different scripts for different kinds of work. One script handles forum post tickets, another handles blog summary tickets for the agent called pam, another is for intake tickets coming through the NCS charitable services side of the business, another handles general ad-hoc operations tickets, and there’s one dedicated script that creates all eight TOGAF phase tickets in bulk at once. That last one is particularly handy because TOGAF work involves all agents simultaneously.

Let’s talk about what each agent is actually responsible for inside Dolibarr. There are eight agents, and their module access reflects their specialisation. Cas works with customer relationship management, orders, invoices, and third-party records. Dai has broad read access across reports, exports, and analytics. Fin handles accounting, bank accounts, and payments. Pam focuses on products and catalogue synchronisation. Sun deals with purchase orders and supplier records. Ema manages electronic documents. Han handles human resources, though it’s worth noting that HR support through the REST API is limited. And then there’s dan, who is a special case: dan doesn’t use the Dolibarr REST API at all and instead works directly with the underlying database through MySQL.

Speaking of limitations, there are a couple of known constraints worth knowing about. Ticket notes, whether public or private, are not returned by the REST API. That means if you want to read them, you have to go into the Dolibarr graphical interface directly. Also, when it comes to managing module permissions or agent user roles, that has to be done via direct MySQL access rather than through the REST layer.

So to summarise the big picture: Dolibarr is the engine room for all agent work at NZRT. Tickets come in, agents pick them up using their personal API keys, they do the work, they record it, and they close the ticket out. The scripts in the agent repository handle ticket creation, and each agent’s access is scoped to exactly what they need for their role. The xc admin key sits above all of it for cross-agent visibility and ticket creation.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Collaboration

Welcome to the NZRT Wiki Podcast. Today we’re looking at Collaboration.

So, what do we mean by Collaboration at NZRT? At its core, the Collaboration section of our internal systems covers the cross-functional tools that help you and your team work together day to day. Think of it as the connective tissue between people, projects, and time. It brings together four distinct areas: shared calendars and agendas, project and task management, event organisation, and surveys. Each one plays a role in keeping the team aligned and moving in the same direction.

Let’s start with Shared Calendar and Agenda. If you’ve ever found yourself wondering when a meeting is happening, or whether a colleague is available for a quick catch-up, this is where you go. The shared calendar gives everyone visibility into what’s happening across the team. You can see scheduled events, block out time, and plan around other people’s commitments without having to send a chain of emails back and forth. The agenda side of things helps you structure what’s actually going to be covered in those meetings, so time is used well and nothing important gets missed. Whether you’re coordinating across departments or just trying to find a slot that works for three people, the shared calendar is your starting point.

Next up is Projects and Tasks. This is probably the sub-module you’ll spend the most time in. It gives you a structured way to plan and track work from start to finish. At the project level, you’re looking at the big picture — what’s the goal, who’s involved, what’s the timeline. Drill down into tasks and you get the day-to-day detail — individual actions assigned to specific people, with due dates and progress tracking. This means that at any given moment, you can see exactly where a piece of work sits, who’s responsible for it, and whether it’s on track. It removes a lot of the guesswork that comes with collaborative work and keeps everyone accountable without needing constant check-ins. If you’re managing a client engagement, an internal initiative, or anything with multiple moving parts, Projects and Tasks is how you keep it all under control.

The third sub-module is Event Organisation. This one is specifically designed to help you plan and coordinate events — whether that’s an internal workshop, a team offsite, a client presentation, or a training session. Event Organisation gives you a dedicated space to manage the logistics: who’s attending, what needs to be prepared, what the agenda looks like, and how invitations go out. Rather than juggling spreadsheets and email threads, everything related to an event lives in one place. It also connects naturally with the shared calendar, so once an event is confirmed, it shows up where people are already looking at their schedule.

The fourth sub-module is Surveys. Surveys might sound simple, but they’re a powerful way to collect structured feedback and input from your team or from stakeholders. Whether you want to check in on how a project went, gather opinions before making a decision, or run a quick pulse check on team morale, surveys give you a way to do that systematically. You build the survey, send it out, and the responses come back in a format you can actually analyse. It’s much more useful than asking people informally and trying to piece together a picture from casual comments. Surveys close the loop on initiatives and make sure decision-making is grounded in real input rather than assumptions.

Now, the Collaboration module doesn’t sit in isolation — it connects to two other areas of the system that are worth knowing about. The first is Timesheets. Time tracked through Timesheets can be linked directly to projects, which means you get a clear picture of how much effort is actually going into any given piece of work. That’s valuable both for internal planning and for client billing, if that’s relevant to your engagement. The second related area is Interventions, which covers field work. Interventions can also be linked back to projects, so if someone’s out on site doing hands-on work, that activity gets recorded against the right project context. Both of these connections mean that Collaboration isn’t just about coordination — it feeds into a fuller operational picture that spans time, effort, and delivery.

So to bring it all together: the Collaboration module is your hub for keeping work organised and teams connected. You’ve got the shared calendar for scheduling and visibility, projects and tasks for managing work end to end, event organisation for planning structured gatherings, and surveys for collecting feedback and input. Layer in the links to timesheets and field interventions, and you have a system that ties coordination to execution in a meaningful way.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Commercial Proposals Quotes

Welcome to the NZRT Wiki Podcast. Today we’re looking at Commercial Proposals (Quotes).

If you’ve ever needed to send a client a formal price breakdown before they commit to anything, you’re working with what NZRT calls a Commercial Proposal, or simply a Quote. These are professional PDF documents that give your customer a clear picture of what you’re offering, what it costs, and what they’re agreeing to. And the good news is they’re built to do a lot of the heavy lifting for you, from calculation through to signature and straight into an order, all without having to re-enter the same information twice.

Let’s start with the overall journey a quote takes from the moment you create it. It begins in a draft state. That’s your working space where you’re pulling things together, adding line items, adjusting figures, and making sure everything looks right before anyone outside the business sees it. Once you’re happy with it internally, it moves to validated. Think of that as your internal sign-off, a checkpoint that says this document is ready to go out the door. After that, it gets sent to the customer. From there, the customer can actually sign it online, which we’ll talk about in a moment. And once signed or approved, you can convert it directly into a Customer Order without starting from scratch. So the flow goes from draft, to validated, to sent, to optionally signed online, and finally converted into an order.

Now let’s talk about what actually goes inside one of these quotes. The line items, meaning the individual products or services you’re quoting for, are pulled directly from your catalogue. That means you’re not typing descriptions or prices from memory. You select what you need, and the system brings in the details for you. On top of that, you have full control over discounts, tax, and margin calculations. So if you need to apply a ten percent discount to a particular item, or you want to check whether your margin on a service is healthy before you send the quote out, all of that is handled right there in the quote itself. You can see your numbers clearly and adjust them before anything goes to the client.

When it comes to actually generating the document the customer receives, you have multiple PDF templates to choose from. This matters because different clients or different types of engagements might call for different formats. One template might be more formal and detailed, while another is simpler and more suitable for a quick engagement. You pick the one that fits the situation, and the system generates a professional PDF ready to send.

One of the more powerful features here is the online signing link. When you send a quote, you can include a link that allows the customer to review and e-sign the document directly in their browser. There’s no printing, scanning, or emailing back required. The customer clicks the link, reviews the quote, and adds their signature electronically. This speeds things up significantly, especially when you’re working with clients who aren’t in the same location or time zone. Once they’ve signed, that status is reflected in the system and you can move forward with converting to an order.

Speaking of which, that conversion step is worth highlighting. Because everything in the quote, your line items, pricing, discounts, customer details, flows directly into the resulting Customer Order, you’re not doing double data entry. It’s a clean handoff from the proposal stage to the fulfilment stage.

There’s also version history built in, which is easy to overlook but genuinely useful. If a quote goes through several rounds of revision, perhaps a client asks you to adjust scope or pricing, you have a record of what changed and when. That kind of audit trail is helpful both for your own records and for any disputes or questions that might come up later.

Finally, it’s worth knowing how quotes connect to the rest of the system. They sit naturally alongside Customer Orders, since that’s where a signed quote ends up. They also tie into the Margins module, so your profitability analysis stays connected to what you’re actually quoting. And if you’re tracking opportunities and leads, quotes are often the next step after a lead progresses, giving you a clear line from initial interest all the way through to a signed commitment.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Configuration Overview

Welcome to the NZRT Wiki Podcast. Today we’re looking at 🔐 Configuration Overview.

This episode covers something that sits at the heart of how NZRT’s Dolibarr environment runs — the credentials, connection settings, and configuration files that tie everything together. Before we dive in, a quick but important note: this information lives in a private vault for good reason. You should never share this vault or commit it to a public repository without first removing or redacting the credential files. Keep this content internal. That’s a hard rule.

Now let’s walk through what’s actually documented here.

The first section is a credentials index. Think of it as a reference map — it tells you what credential exists, where to find it, and what it’s used for. There are four entries in this index.

The first is the Dolibarr REST API key. This is your go-to credential for making external API calls, and it’s also what powers the WordPress integration. If you’re building anything that talks to Dolibarr from the outside, this is the key you’ll reach for.

The second entry is Gmail SMTP credentials. These handle outgoing email from Dolibarr — so whenever the system sends a notification, an invoice, or any automated message, it’s going through Gmail’s mail servers using this configuration.

Third is the MySQL password. This one shows up in several places — your HeidiSQL database client, the main Dolibarr configuration file called conf dot php, and your backup processes. Anywhere that needs direct database access, this password is involved.

And the fourth credential is Google Analytics. This is used for site analytics tracking, giving you visibility into how the platform and its associated web properties are being used.

So that’s the credentials index — four items, each with a clear home and a clear purpose.

Now let’s move on to the system configuration section. This gives you a snapshot of the technical environment that Dolibarr runs on, and it’s worth knowing even if you’re not deep in the infrastructure side of things.

The ERP system itself is Dolibarr — open-source and self-hosted, which means NZRT manages the stack directly rather than relying on a cloud provider.

For local development, the environment is Laragon. If you need more detail on how that’s set up, there’s a dedicated WordPress vault section that covers it.

The database is MySQL. There’s a separate DB Schema reference if you need to dig into the actual table structure — that’s linked in the related notes.

The PHP runtime is PHP version 8 point something, running through Laragon on the local development side.

The API base URL — the starting point for any REST API call to Dolibarr — is slash api slash index dot php slash. So when you see API endpoints documented elsewhere, that’s the root they’re appended to.

The system currency is set to New Zealand dollars, which makes sense given NZRT operates in New Zealand.

And the timezone is Pacific slash Auckland — so all timestamps, scheduled tasks, and date-based logic in the system will align to New Zealand time.

That’s the full system configuration picture. Seven settings that together describe the runtime environment you’re working with.

Finally, the page points to two related areas worth knowing about. The first is the Administration section, which covers Dolibarr’s UI-level settings — the stuff you configure through the interface rather than config files. The second is the REST API section, which goes deep on how to actually use the API once you’ve got the credentials and base URL sorted.

So to recap what you’ve learned today: NZRT’s Dolibarr setup runs on a self-hosted, open-source ERP backed by MySQL, served through PHP 8 on Laragon locally, with a New Zealand dollar currency and Auckland timezone. There are four key credentials to be aware of — the REST API key for external integrations, Gmail SMTP for outgoing mail, the MySQL password for database access, and Google Analytics for tracking. All of these are documented internally, and none of them should ever leave the vault unredacted.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Customer Invoices Credit Notes

Script below.

Welcome to the NZRT Wiki Podcast. Today we’re looking at Customer Invoices & Credit Notes.

If you’ve ever needed to bill a client, track what they owe, or reverse a charge, this is the part of the system you’ll be working in. Customer invoices and credit notes sit at the heart of your accounts receivable process, and once you understand how they fit together, the whole thing becomes much more intuitive.

Let’s start with the types of invoices available to you, because not every billing situation is the same.

There are four invoice types. The first is a Standard invoice. This is your everyday sales invoice — you’ve delivered a product or a service, and now you’re asking the customer to pay for it. Most of what you do day to day will fall into this category.

The second type is a Credit Note. Think of this as the opposite of a standard invoice. If you need to refund a customer, reverse a charge, or correct a billing error, a credit note is how you handle it. It reduces what the customer owes you, or it creates a credit balance they can apply against future invoices.

The third type is a Deposit invoice. You use this when you want to request an advance payment before work begins or before goods are delivered. It’s especially useful for larger jobs where you want something upfront. That deposit amount then gets applied against the final invoice once everything is complete.

And the fourth type is a Recurring invoice. If you have customers on retainer, subscriptions, or any kind of regular billing cycle, recurring invoices let the system generate those invoices automatically on a schedule you define. You set it up once, and the system handles creating each invoice at the right time.

Now let’s walk through the lifecycle of an invoice. The workflow moves through six stages, and understanding each one tells you what you can and can’t do at that point.

It starts with an Order. When a customer order already exists in the system, you can generate an invoice directly from it, which saves you from re-entering all the line items manually.

From there, the invoice is created as a Draft. In draft state, you can still edit everything — line items, quantities, prices, tax codes, due dates. Nothing is locked in yet, so this is your chance to get things right before moving forward.

Once you’re happy with it, you Validate the invoice. Validation locks it and assigns an official invoice number. After this point you can’t edit the core details, so it’s worth taking a moment to review carefully before you validate.

The next stage is Sent. This is when the invoice goes out to the customer, whether by email directly from the system or through whatever method you use to communicate with them. The system logs that it’s been sent, which helps with tracking and follow-up.

After the customer pays, you Record the Payment. You can record full payments or partial payments, and the system will track how much remains outstanding. If a customer pays in instalments, each payment gets recorded separately and the balance updates accordingly.

Finally, once the full amount has been received and reconciled, the invoice moves to Closed. A closed invoice is complete and sits in your records for reporting and audit purposes.

Credit notes follow a similar structure — you create them, validate them, and then apply them. You can apply a credit note directly against an outstanding invoice to reduce what the customer owes, or you can leave it as an open credit on the account for future use.

It’s also worth knowing how this area connects to the rest of the system. Customer invoices link closely to Customer Orders, so if you’re raising invoices from orders, that’s where the chain starts. The Invoices and Payments module gives you the broader view of what’s been paid, what’s outstanding, and what’s overdue. And Bank Accounts is where payment reconciliation happens — when you match a bank transaction to a recorded payment, that’s the final step that moves everything to closed.

A few practical things to keep in mind. Always validate an invoice before sending it, because you can’t send a draft. If you need to correct a validated invoice, the cleanest approach is to cancel it and create a new one, or raise a credit note for the difference. And when you’re setting up recurring invoices, check the frequency, the start date, and whether the system should auto-validate them or leave them as drafts for you to review each cycle.

That covers the essentials — the four invoice types, the six-stage workflow from order through to closed, and how everything connects to the rest of the system.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Batches Lots Serials

Welcome to the NZRT Wiki Podcast. Today we’re looking at Batches, Lots & Serials.

If you have ever bought a product that was recalled, or wondered how a manufacturer tracked down exactly which production run had a defect, then you have already experienced why this topic matters. Batch, lot, and serial tracking gives you full traceability of your products, whether you are receiving goods into your warehouse, running a manufacturing floor, or trying to answer a customer’s question about where something came from.

So let’s start with the three traceability levels, because they are not interchangeable and each one suits a different situation.

First, you have batch tracking. This is the method you reach for when you are dealing with food or pharmaceutical products. The core idea is that a batch represents a group of items that were produced together, under the same conditions, at roughly the same time. If something goes wrong with that batch, you can identify every unit in it instantly. Think of a food producer who needs to pull product from shelves. Batch tracking tells them exactly which items are affected and where they went.

Second, there is lot tracking. A lot is similar in spirit to a batch, but it is more commonly used as a manufacturing run identifier. It is the label you attach to a group of items that came through your production process in the same run. This is your go-to in general manufacturing contexts where you want to group products by production event rather than by formula or recipe.

Third, and the most granular level, is serial number tracking. This one is used when every single unit needs its own unique identity. Electronics are the classic example. Each device gets its own serial number, and that number follows it through its entire life. You can look up one specific unit and know exactly where it was made, when it shipped, who received it, and what has happened to it since. If a customer calls in with a problem, you pull up the serial and you have the full picture.

Now, those three approaches answer the question of how granular your tracking needs to be. But how does the system actually capture this information in practice?

The two main points where you assign a batch, lot, or serial are on receipt and during manufacturing. When goods arrive at your warehouse, that is your first opportunity to record the identifier. Your team logs the batch or lot number from the supplier’s documentation, or scans the serial numbers for individual units. From that moment on, the system knows those items exist and can track what happens to them.

If you are manufacturing in-house, the identifier gets assigned at the production stage. As items come off the line, they get grouped under a lot or batch, or they get individual serial numbers stamped or logged.

Another important feature in this area is expiry date management. For anything perishable, whether it is food, medicine, or time-sensitive components, you can attach an expiry date to a batch or lot. The system then lets you manage stock rotation properly, flagging items that are approaching or past their use-by date. This is essential for compliance in regulated industries and just plain good practice in any context where you are holding perishable inventory.

And then there is traceability reporting. This comes in two directions. Forward traceability means you start with a batch or serial and follow it forward through the supply chain. You can see where a product went, which customers received it, which orders it fulfilled. Backward traceability goes the other way. You start with a finished product or a customer complaint and trace back to find the source. Which batch of raw material was used? Which supplier did it come from? Which production run produced this unit? Both directions give you powerful tools for quality management, recalls, and audits.

This functionality does not sit in isolation. Batch, lot, and serial tracking connects directly to two other areas of the system. The first is Stock and Warehouse Management. All of the movement of tracked items through your locations, your receipts, transfers, and dispatches, flows through the warehouse management layer. That is where physical stock levels and locations are recorded alongside the traceability identifiers. The second connected area is Manufacturing Orders. When you are producing goods internally, manufacturing orders are the point where lots and batches get created and assigned. The two modules work together to give you a complete view from raw material through to finished goods.

So to bring it together: if you need to track groups of products that were made or received together, you use batch or lot tracking. If you need to track individual units, you use serial numbers. You capture the identifiers on receipt or at the point of manufacture, you optionally attach expiry dates, and then you use the traceability reports to trace products forward to customers or backward to sources. And the whole thing ties into your warehouse and manufacturing operations.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Bill Of Materials Bom

Welcome to the NZRT Wiki Podcast. Today we’re looking at Bill of Materials, or BOM for short.

So what exactly is a Bill of Materials? Think of it as the recipe for a finished product. It tells you every component you need, how much of each one, and how they all fit together before you can produce your end result. If you’ve ever followed a recipe that said “to make this dish, you need these ingredients in these amounts,” a BOM works on exactly the same principle, just applied to manufacturing and assembly.

Let’s walk through the structure of a BOM, because this is where it gets really clear. Imagine you’re looking at a diagram on screen. At the very top you have your finished product. Hanging off that finished product are three components: Component A, Component B, and Component C. Component A requires two pieces. Component B requires half a kilogram. And Component C requires one metre. Now here’s where it gets interesting. Component B itself has a child underneath it called Sub-component B1. That means your BOM isn’t just a flat list. It can be multi-level, going deeper and deeper as needed. You might have a component that is itself made up of other parts, and those parts might have their own sub-parts. This nesting is what makes a BOM powerful, because it captures the full picture of what goes into your product at every level of assembly.

Now let’s talk about the key fields you’ll encounter when you’re working with a BOM in practice.

First, you have your finished product itself, along with the quantity that particular BOM produces. So if one run of this BOM produces ten units, that’s recorded right at the top level.

Next, you have your individual components, each with their own quantities and units. And as you saw in the structure example, those units can vary. One component might be measured in pieces, another in kilograms, another in metres. The system handles all of that, so you don’t have to convert anything manually.

Then there’s something called the scrap factor. This one’s worth paying attention to. When you set a scrap factor on a component, the system automatically over-allocates that material. In other words, if you know from experience that you lose a certain percentage of a raw material during production due to waste or off-cuts or spoilage, you tell the BOM that, and it will automatically request more than the theoretical minimum. You don’t have to manually calculate that buffer every time you create a manufacturing order. It’s baked right in.

Finally, there’s the work centre field. This tells the system where in your facility or production setup a particular component or assembly step happens. Different components might be processed in different locations, and the work centre field captures that routing information.

Now, a BOM doesn’t exist in isolation. It connects to two other important areas of the system. The first is Manufacturing Orders. When you actually want to produce something, you create a Manufacturing Order, and that order executes the BOM. Think of the BOM as the plan and the Manufacturing Order as the action. The BOM says “here’s what you need and how much,” and the Manufacturing Order says “okay, let’s actually make it now.”

The second connected area is Stock and Warehouse Management. When a Manufacturing Order is created from a BOM, the system uses the component list to reserve stock from your warehouse. So if you need two pieces of Component A, the system checks whether you have them available, and reserves them so they don’t get allocated to something else in the meantime. This tight link between your BOM and your stock levels means you always have visibility into whether you actually have what you need before you commit to production.

To bring it all together: a BOM is your single source of truth for what a product is made of. Get it right, and everything downstream, your manufacturing orders, your stock reservations, your scrap allowances, flows from it automatically. Get it wrong, and you’ll find yourself short on materials or producing more waste than you planned for.

Whether you’re setting up a BOM for the first time or reviewing an existing one, the key things to check are that every component is listed with the correct quantity and the right unit of measure, that scrap factors reflect your real-world waste experience, and that work centres are assigned where relevant.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Customer Sales Management

Welcome to the NZRT Wiki Podcast. Today we’re looking at Customer & Sales Management.

This is the part of the system that handles everything from the moment you first hear about a potential customer, all the way through to getting paid. Think of it as the complete order-to-cash cycle — and we’ll walk through each piece of that today.

So let’s start with what’s actually included. Customer and Sales Management is made up of eleven sub-modules, and each one handles a specific part of the sales process.

The first is Customers, Prospects, and Contacts. This is your address book, essentially — it’s where you store everyone you’re dealing with, whether they’re an existing customer, someone you’re still trying to win over, or just a contact at an organisation.

Next up is Opportunities and Leads. If you’re tracking a potential deal — something that’s not confirmed yet, but you’re actively working on — this is where it lives.

Then you have Commercial Proposals. Once you’re ready to put something in writing for a client, you create a proposal here. Think quotes, tender responses, that kind of thing.

From proposals, you move into Customer Orders. When a client says yes and you need to confirm what they’ve agreed to buy, you create an order. That order then kicks off the rest of the process.

After orders come Contracts and Subscriptions. If your relationship with a client is ongoing — say, a retainer or a recurring service — you’d manage that here rather than treating every billing cycle as a brand new order.

Then there’s Interventions. This module is for logging on-site visits or field service work — any time someone from your team goes out and does something at a client’s location, you can track it here.

The Ticket System handles support and service requests. Customers raise tickets, your team responds, and everything is logged against the right customer record.

Partnership Management is for tracking referral relationships, resellers, or any third party you’re working with on a commercial basis.

Shipping Management covers the delivery side of things — tracking what’s been sent out and when.

Then you have Customer Invoices and Credit Notes. This is where the financial side lives on the customer-facing end. Once work is done or goods are delivered, you raise an invoice here. Credit notes handle corrections or refunds.

And finally, Point of Sale — for any in-person or counter-based transactions, this module handles immediate sales outside the standard order flow.

Now let’s talk about how all of these pieces connect in practice. There’s a standard flow that most sales follow, and it’s worth walking through in order. You start with a prospect — someone you think could become a customer. From there, you identify an opportunity, meaning a specific deal you’re actively pursuing. Once you’re ready to put a number on it, you create a proposal. If the client accepts, that proposal converts into an order. The order then triggers shipping, so goods or services get delivered. Once that’s done, you raise an invoice. And the cycle closes when payment comes in.

That sequence — prospect, then opportunity, then proposal, then order, then shipping, then invoice, then payment — is the backbone of how sales and delivery works in this system. Each stage flows naturally into the next, and the system is designed so you can convert one record into another with minimal rekeying. Your proposal becomes your order, and your order becomes your invoice. That keeps things consistent and saves time.

It’s also worth knowing how Customer and Sales Management connects to the rest of the platform. When you create a customer order, it can automatically reserve stock, so your inventory stays in sync with what’s already been committed to customers. You don’t have to go and update stock levels manually.

On the financial side, invoices and payments are tracked end to end. You can see what’s been invoiced, what’s been paid, and what’s still outstanding — all connected back to the original order.

And if you’re using WordPress as a customer portal, that ties in here too. Customers can potentially view their own orders, invoices, or service history through the front end, depending on how your setup is configured.

So to wrap up — Customer and Sales Management is really the heart of how NZRT manages its commercial relationships. It takes you from that very first conversation with a prospect all the way through to receiving payment, with a clear structure at every stage. Understanding which module handles which part of the cycle will help you navigate the system much more confidently.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Customers Prospects Contacts

Welcome to the NZRT Wiki Podcast. Today we’re looking at Customers, Prospects and Contacts.

If you’ve ever wondered where NZRT keeps track of all the companies and people it works with, the answer is a central database called the third-party database. Think of it as the single source of truth for everyone your business has a relationship with, whether that’s a potential client you’re chasing, a company that’s already bought from you, or a supplier you purchase from. Every external party lives here, and understanding how they’re classified will save you a lot of confusion when you’re navigating the system.

So let’s start with the four types you’ll encounter.

First, you have Prospects. A prospect is someone or some company that hasn’t bought from you yet, but you’re working on it. They’re in the pipeline, you might be talking to them, you might have sent them a proposal, but no order has been placed. They sit in that early stage of the relationship.

Second, once a prospect does place an order, they become a Customer. It’s as simple as that. That status change is important because it unlocks a different set of records and history for that company, things like invoices, payment terms, and order history.

Third, you have Suppliers. These are the companies you buy from rather than sell to. They appear in the purchase side of the system, but they’re still stored in the same third-party database. So you’ve got one place to look up any external organisation, regardless of whether money flows in or out.

Fourth, there are Contacts. Contacts are individuals rather than companies. A contact is typically a person who is linked to a company record. So if you’re dealing with a business called Acme Limited, the people you actually email and call, like their accounts manager or their technical lead, those individuals live as contact records attached to the main company entry.

Now let’s talk about what information you’ll find on a third-party record. There are a number of key fields you’ll want to be familiar with. You’ve got the company name, their address, their country, and the language they operate in. This matters because if you’re generating documents or correspondence, the system can tailor things to the right locale. You’ll also find a VAT or tax number field, which is important for compliance, especially when you’re dealing with overseas clients or suppliers.

From a financial perspective, each record holds payment terms, so you know whether a customer pays on fourteen days or thirty days, and a credit limit, which gives you a ceiling on how much exposure you want to carry with any one client. There’s also an outstanding balance field so you can see at a glance what’s currently owed.

On the sales side, you’ll see an assigned sales rep, which tells you who in your team owns that relationship. And there are tags and categories you can apply to group and filter third parties in ways that make sense for your business. Finally, there’s a customer since date, which gives you a quick read on how long that relationship has been active.

Now, the third-party database doesn’t sit in isolation. It connects to several other parts of the system that you’ll want to be aware of. The first is Opportunities and Leads. When you’re actively working to convert a prospect into a customer, that sales activity is tracked in the opportunities module, and it links back to the prospect record here. So you can always trace a customer’s journey from first contact through to closed deal.

The second connection is Commercial Proposals. When you put together a quote or a proposal for a customer or prospect, that proposal is linked to their third-party record. You can pull up any company and see every proposal you’ve ever sent them.

The third area is Customer Invoices and Credit Notes. Once a customer is active and orders are flowing, all of their invoice history lives here too. You can navigate from a customer record straight into their billing history, see what’s paid and what’s outstanding, and get a complete picture of the financial relationship.

So to pull it all together: the Customers, Prospects and Contacts section is your starting point for any external relationship in the system. It classifies everyone you deal with into clear types, captures the key details you need to manage those relationships, and connects through to the sales and finance modules so nothing falls through the cracks. Whether you’re qualifying a new lead, checking a customer’s credit limit, or looking up a supplier’s contact details, this is where you start.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Data Export Import

Welcome to the NZRT Wiki Podcast. Today we’re looking at Data Export & Import.

If you’ve ever needed to move data in or out of Dolibarr, this is the feature set you’ll be reaching for. Whether you’re migrating from another system, feeding data into a business intelligence tool, or just taking a snapshot of your records, Dolibarr’s export and import capabilities are built to handle the job. The supported formats are CSV, Excel, and XML, which covers most of what you’ll encounter in day-to-day business workflows.

Let’s start with exports. Dolibarr comes with a set of built-in export profiles, which means you don’t have to configure things from scratch every time you want to pull data out. These profiles cover the key data types you’re most likely to need. You can export your customers and suppliers, your product catalogue, invoices, sales and purchase orders, contacts, and even custom fields you’ve added to extend the standard data model. That last one is particularly useful if your organisation has tailored Dolibarr to capture information that doesn’t fit neatly into the default setup.

When you run an export, you choose your profile, select the fields you want included, and Dolibarr generates the file for you. The result is a structured, clean export you can open directly in a spreadsheet application or feed into another tool. If you’re connecting to a business intelligence platform, this is often your starting point for a data pipeline, at least until you set up something more automated.

Now let’s talk about imports. Importing data into Dolibarr is done through a CSV bulk import process, and there’s a field mapping wizard that guides you through it. That wizard is your friend, especially if you’re bringing in data from a third-party system where the column names don’t match Dolibarr’s internal field names. You map each column in your file to the corresponding field in Dolibarr, and the system takes care of the rest.

One thing worth knowing is that Dolibarr includes error reporting during the import process. If something in your file doesn’t match the expected format, or if a required field is missing, you’ll get feedback before the data is actually committed. That means you can fix issues and re-run without worrying that you’ve already created a mess of partial records. There’s also rollback support, so if something goes wrong mid-import, you’re not left with half a dataset loaded and half missing.

That rollback capability is especially important during migrations. If you’re moving from another CRM or ERP into Dolibarr, you’ll likely be running imports multiple times as you clean and reformat your source data. Being able to undo a failed run and try again is a significant time saver and keeps things predictable.

A quick note on field names. If you’re preparing an import file and you’re not sure what Dolibarr expects each column to be called, the Module List is your reference point. It documents the field names used by each module, and you’ll want to cross-check those against your mappings in the wizard. Getting the field names right upfront will save you a lot of back-and-forth during the import process.

Now, if you need to move data programmatically rather than through the user interface, you don’t have to use the export and import screens at all. Dolibarr has a REST API that gives you direct access to the same data in a code-driven way. That’s the route to take if you’re building an integration, scheduling automated data syncs, or working with a developer who needs to push or pull records without any manual steps. The REST API is covered in its own documentation, but it’s worth knowing it exists as a complement to what we’ve covered today.

To bring it all together. Dolibarr supports export and import in CSV, Excel, and XML formats. On the export side you get built-in profiles covering customers, suppliers, products, invoices, orders, contacts, and custom fields. On the import side you get a field mapping wizard for CSV bulk imports, along with error reporting and rollback to keep your data clean. If you need to look up field names to prepare your import file, check the Module List. And if you need any of this done programmatically, the REST API is the way to go.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Dolibarr Beneficiary Records Ncs Charitable Services

Welcome to the NZRT Wiki Podcast. Today we’re looking at Dolibarr Beneficiary Records — NCS Charitable Services.

If you work with the NCS charitable services side of NZRT, you’ll want to understand how beneficiary organisations are tracked inside Dolibarr. This episode walks you through the record schema, how records get created, what delivery notes look like, and how to query those records via the API.

Let’s start with the basics. In Dolibarr, beneficiary organisations are stored as Third Parties — the same entity type used for commercial customers. The key difference is that these records are flagged as customer type, not supplier, and importantly, no invoicing ever happens against them.

Here’s how the record fields break down. There are seven main fields to know about. The name field holds the organisation’s name, taken directly from their application email. The client field is set to one, which marks this as a customer or beneficiary type. The supplier field is set to zero, because these organisations are not suppliers. The email field holds the applicant’s email address as the primary contact. The status field is set to one, meaning active, and that’s applied at the time of creation. The organisation type field is left as the Dolibarr default, depending on whether New Zealand organisation types are configured in your instance. And finally, there’s a private note field — this is where you record what services were delivered and when, either manually or via an agent note.

Now, how do these records actually get created? For most NCS workflows, you don’t have to do this by hand. Records are created automatically by the CAS agent when it processes an approved application through the charitable delivery workflow. But if you ever need to create one manually through the Dolibarr user interface, here’s the process. You navigate to Third Parties, then New Third Party. You set the name, the email, and make sure the client flag is set to one. You save the record and note the ID Dolibarr assigns. Then you add a private note documenting the delivery.

Speaking of delivery records — this is an important one. Because NCS charitable delivery is at no cost, you never raise an invoice for these. Instead, the delivery is documented in that private note field. A typical note would say something like: NCS delivery on the 27th of April 2026, listing the services delivered — for example Knowledge Systems and Claude Code AI Agent Setup — noting that delivery was made via automated email from the NZRT sales address, and recording which email address the GitHub zip files were sent to. That’s essentially a plain-language delivery receipt sitting right inside the record.

Now, if you ever need a more formal paper trail — say for charitable registration evidence or reporting purposes — there is an option to create a zero-dollar commercial proposal. You’d set the beneficiary organisation as the third party, add one line per service delivered with a unit price of zero, then validate and close it. This gives you a proper document record without creating any payment obligation. It’s purely for audit and reporting.

Finally, let’s talk about querying beneficiary records. If you’re pulling data via the Dolibarr REST API using the CAS API key, you send a request to the thirdparties endpoint asking for up to one hundred results and filtering by client type one. In plain terms, that means you’re asking Dolibarr to return all third parties that are flagged as customer or beneficiary type. From there you can filter further by organisation name or by keywords in the private note to zero in on NCS-specific records.

So to recap: beneficiaries live in Dolibarr as Third Parties, flagged as client type with no invoicing, delivery is documented in the private note, and the CAS agent handles creation automatically in most cases. When formal records are needed, a zero-dollar proposal is your tool of choice.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Dolibarr Bu Project Structure

Welcome to the NZRT Wiki Podcast. Today we’re looking at Dolibarr — BU Project Structure.

This episode covers how Dolibarr projects, tasks, and tickets are organised across NZRT’s business units, and how agent tickets connect to the right place every time.

Let’s start with the big picture — how the structure is actually shaped inside Dolibarr. Think of it as three layers sitting inside each other. At the top level you have a Dolibarr Project, and there is one of these for each business unit. Inside that project you have Tasks, which represent functional areas of work within that business unit. And then inside each task you have Tickets — these are the specific work items that get assigned to individual agents. So the chain goes Project, then Task, then Ticket. Every piece of agent work needs to sit correctly within that chain.

Now let’s look at the four business unit projects that currently exist. First up is the API project, which covers the x402 Knowledge Base. Its reference code is the API service code and its Dolibarr ID is 24. Second is the ICS project — that stands for Internet Consulting Services — service code ICS, Dolibarr ID 25. Third is the ITE project, which is the Iteasel product — the portable wooden display easel — service code ITE, Dolibarr ID 26. And fourth is NCS, which is NZRT Charitable Services, service code NCS, Dolibarr ID 27. So you’ve got four projects, each with its own ID you’ll need when creating or linking tickets via the API.

Inside each of those four projects, you’ll find the same four standard tasks. Every BU project has these, which keeps things consistent across the board. The first task is Marketing and Promotion — this covers WordPress pages, forum posts, and external communications. The second is Technical Development, which is where scripts, API work, deployments, and integrations live. The third is Client Delivery, covering things like SOPs, proposals, onboarding, and handover. And the fourth is Operations, which handles scheduling, reporting, admin, and monitoring.

Next, let’s talk about how tickets get assigned. This is where the agent capability matching comes in. If a ticket sits under a Marketing and Promotion task, it goes to pam. Client Delivery tickets on the sales side go to cas. Operations tickets dealing with invoicing go to fin. Technical Development tickets — things like API work and infrastructure — go to cla. And dai picks up reporting and analytics tickets regardless of which task they sit under. So dai’s scope crosses all four task types when the work involves reporting.

When you’re creating a ticket, there are two key fields you need to set. You use the project field to link the ticket to the correct BU project, and you use the task field to link it to the correct task within that project. You also need to make sure the category tag matches the BU service code — that’s the category table in Dolibarr that ties the ticket to the right business unit bucket.

Finally, a quick note on the reference format you’ll see on these projects. Each project reference follows the pattern WPS-CPL-BUS followed by the BU code. So for example you’d see WPS-CPL-BUS-ICS for the Internet Consulting Services project. Breaking that down: WPS stands for Work Package System, CPL stands for cPanel, BUS stands for Business Unit, and then the final part is the specific code — API, ICS, ITE, or NCS. This convention is also connected to the TOGAF Work Packages context, so if you’re working in that space you’ll see these references appearing there too.

To bring it all together — when an agent needs to do any piece of work, you look at what kind of work it is, find the right BU project by service code and Dolibarr ID, drop into the matching standard task, and create the ticket with both the project and task fields correctly set and the right category tag applied. That three-level structure — Project, Task, Ticket — is what keeps everything traceable and correctly attributed across the four NZRT business units.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Dolibarr Knowledge Management Module

Welcome to the NZRT Wiki Podcast. Today we’re looking at Dolibarr — Knowledge Management Module.

So, what is the Knowledge Management module in Dolibarr? At its core, it’s a built-in feature that lets you store reusable Question and Answer records — think of it like an internal FAQ or troubleshooting library, right inside your ERP system. Each record pairs a question — something a team member or agent might actually search for — with an answer or solution. And those records can be linked directly to tickets, so when you’re working on a support issue, relevant knowledge articles can surface right there in the ticket view.

Now, you might be wondering whether this module is actually switched on for NZRT. To check that, a call was made to the Dolibarr knowledge management API endpoint — essentially asking the system to return a list of all existing knowledge records. The API came back with an empty list rather than an error, which tells us the module is confirmed as active and working on our instance. There are just zero records in it right now. So the foundation is there — it’s ready to be used.

Let’s talk about what’s inside a knowledge record. There are a handful of key fields you need to know about. The first is the question field — this is where you put the problem in plain language, the kind of thing you or a future agent would actually type when trying to find help. The second is the answer field, a rich text area where you write a short solution — ideally one to three sentences — with a pointer to where the full detail lives, like a script, a document, or a memory file. The idea is to keep it brief and point outward rather than duplicate information that already exists somewhere else. Third, you have a category field, which uses Dolibarr’s standard category linking. For NZRT, these categories are tagged by system, things like the Dolibarr codebase, WordPress, and so on. Fourth is the status field, which follows a draft to validated lifecycle — matching the same kind of workflow you’d see in the Obsidian vault. And finally, each knowledge record supports linked objects, meaning you can attach a record directly to a ticket, and the ticket system can surface matching articles by searching keywords from the question field.

So why does NZRT actually need this? Right now, a lot of the “I’ve hit this exact problem before” knowledge is scattered — it’s in individual memory feedback files in the dot-claude directory, or buried in sections of the Claude config file, or sitting in deep-reference wiki documents. The Knowledge Management module gives all of that a single home inside Dolibarr, where agents are already working. Instead of hunting across multiple files, you get the relevant fix surfaced right inside the ticket you’re on.

And to be clear about the design here — the source of truth stays in the vault and memory files. Knowledge Management records are short pointers, not full copies. That’s intentional, to avoid a situation where the same fix lives in two places and slowly drifts out of sync. The KM record says: here’s the problem, here’s the short answer, and here’s where to go for the full detail.

Who looks after all of this? Within NZRT, the cla agent owns knowledge record creation and maintenance — this is the AI knowledge layer. The dai agent has read access for analytics and reporting, so you can track which articles are getting linked most often and spot where knowledge gaps exist. And all the other agents — pam, cas, sun, fin, han, ema, and dan — are consumers of this knowledge through the ticket-linked suggestions.

One important thing to note: as of right now, no records have actually been seeded yet. There is a planned Question and Answer seed list that covers recurring gotchas across all NZRT third parties, projects, and tasks — but the seeding pass is a future step. The module is live, the structure is defined, and the design is ready. It’s just waiting for that first batch of records to go in.

If you want to go deeper, the related areas to look at are the Dolibarr ticket system documentation, the business unit project structure that the seed list is organised around, and the Dolibarr Agent Integration guide, which covers how agents actually interact with the system day to day.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Dolibarr Module List Nzrt

Welcome to the NZRT Wiki Podcast. Today we’re looking at Dolibarr Module List — NZRT.

If you’ve ever wondered exactly what’s switched on inside NZRT’s Dolibarr ERP system, this episode gives you the full picture. Dolibarr is the backbone of NZRT’s operations — handling everything from sales and purchasing through to HR and accounting — and the module list is your map of what’s available and active.

Let’s walk through it section by section.

Starting with Product Management. This covers the Products and Services Catalogue, which is where you define what NZRT sells or delivers. Alongside that you’ve got Stock and Warehouse Management for tracking physical inventory, Barcodes for scanning and labelling, and Batches, Lots and Serials for tracing individual product units. If you’re selling items that come in different configurations, Product Variants handles that. And for anything manufactured in-house, you’ve got the Bill of Materials module and Manufacturing Orders to manage the production workflow.

Moving into Customer and Sales — this is a big one. You start with Customers, Prospects and Contacts as your central relationship database. From there, Opportunities and Leads feeds your pipeline, and Commercial Proposals lets you send quotes. Once a quote converts, Customer Orders tracks it. If you’re managing ongoing agreements, Contracts and Subscriptions and Interventions both come into play. The Ticket System handles support requests, and Partnership Management covers more formal external relationships. On the fulfilment side you’ve got Shipping Management, and on the billing side, Customer Invoices and Credit Notes. There’s also a Point of Sale module if NZRT ever needs to handle in-person transactions.

On the Supplier and Purchase side, the structure mirrors sales. You’ve got Suppliers, Vendors and Contacts as your supplier directory, Supplier Pricing Requests for sending out RFQs, Purchase Orders for confirmed buys, Delivery and Reception for goods-in tracking, and Supplier Invoices and Credit Notes for payables. Incoterms is also available if you’re dealing with international shipping terms.

Finance and Accounting covers the money side broadly. Beyond the core Invoices and Payments module, you’ve got Bank Accounts Management, Direct Debit and Credit Transfer for SEPA transactions, full Accounting Management, Donations Management for any charitable activity, Loan Management, a Margins module to track profitability, and Financial Reports for the overview picture.

Collaboration tools include a Shared Calendar and Agenda so teams can coordinate, the Projects and Tasks module which is central to how NZRT manages its work, Event Organisation for structured events, and Surveys for gathering input.

Human Resources is well covered too. You’ve got Employee and Staff Management as the core record, Employee Leave Management, Expense Reports, Recruitment Management for hiring workflows, and Timesheets for logging hours.

Document Management includes Electronic Document Management for file storage and handling, Bookmarks, Mass Emailing for broadcast communications, an Email Collector to pull inbound messages into Dolibarr, and Data Export and Import tools for moving data in and out.

Administration is the control layer. This is where you manage Users and Groups, configure modules via Module Setup, handle Multi-Company Setup if NZRT operates across entities, and control Security and Permissions across the whole system.

Finally, Integrations. This is where Dolibarr connects outward. There’s a WordPress Integration, the REST API which is how agents and external tools talk to Dolibarr programmatically, Payment Platforms for processing transactions, LDAP Connectivity for directory-based authentication, Google Analytics, and ClickToDial for phone system integration.

So taken together, you’ve got a comprehensive ERP stack — from the moment a lead comes in, through quoting, ordering, fulfilment, invoicing, and all the way through to HR, finance, and external integrations. Every major operational area NZRT runs is represented here.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Dolibarr Rest Api

Welcome to the NZRT Wiki Podcast. Today we’re looking at Dolibarr REST API.

If you’ve been working with Dolibarr and you want to connect it to other systems, pull data out programmatically, or automate repetitive tasks, the REST API is your main tool. It exposes pretty much every entity inside Dolibarr — customers, invoices, products, orders — all through standard web requests. Let’s walk through how it works.

First, the base URL. Every API call you make starts at the same address, which is your Dolibarr instance’s domain, followed by the path api/index.php and then a forward slash. So if your Dolibarr is hosted at erp.yourcompany.com, every endpoint you call will begin with erp.yourcompany.com/api/index.php/ and then whatever resource you’re targeting. That consistent pattern makes it easy to reason about — once you know the base, you just tack on the entity name you want to work with.

Now, authentication. Dolibarr’s REST API uses API key authentication. When you make a request, you include a special HTTP header called DOLAPIKEY, and the value is your personal API key. You don’t need to deal with OAuth flows or token exchanges — it’s a single header on every request. Your API key is something you generate inside the Dolibarr admin interface and then store somewhere secure, like a credentials file or an environment variable. If you’re working in an automated script or agent, you’ll want to pass that key in programmatically rather than hardcoding it anywhere that might end up in version control.

Let’s talk about the key endpoints, because this is where you’ll spend most of your time. Think of each endpoint as the address for a specific type of data in Dolibarr.

There are six main ones covered in the wiki. The first is thirdparties, which covers your customers and suppliers. You can send GET requests to retrieve records, POST to create new ones, and PUT to update existing ones. The second is products, which works the same way — GET, POST, and PUT for reading, creating, and updating your product catalogue.

Third is invoices. Again, GET, POST, and PUT. If you’re building any kind of billing automation — say pulling invoice data into a reporting tool or creating invoices from an external order system — this is the endpoint you’ll be hitting most. Fourth is orders, specifically customer orders, with the same three methods available.

The fifth endpoint is bankaccounts. This one is read-only, so you only have GET available here. It’s useful if you need to retrieve account details as part of a reconciliation process or a financial summary. And sixth is users, also GET only, which lets you pull user records from Dolibarr — handy if you’re syncing user data between systems or need to look up user IDs for assigning tickets or tasks.

So to summarise the pattern: most of the business-critical entities — thirdparties, products, invoices, orders — support full read-write access through GET, POST, and PUT. The more sensitive or administrative resources like bank accounts and users are restricted to read-only access through GET.

One more thing worth mentioning: Dolibarr ships with an interactive API explorer built on Swagger UI. You reach it by going to your instance’s API base path and then adding the word explorer at the end. So it would be your domain, then api/index.php/explorer. This gives you a browser-based interface where you can browse every available endpoint, see what parameters each one accepts, and even fire off test requests directly from the page. If you’re new to the API or you’re trying to figure out the shape of a response before writing code, the explorer is genuinely the fastest way to get familiar with it.

For bulk data needs — like exporting large sets of records for reporting — the wiki points you toward the Data Export feature as an alternative. The REST API is great for targeted, programmatic access and integration work, but if you need to dump thousands of rows at once, the built-in export tools might be a more practical starting point.

To pull it all together: when you’re integrating with Dolibarr, your request always goes to the api/index.php base path, you always include your DOLAPIKEY header for authentication, and you choose your endpoint based on the entity you’re working with. Whether you’re reading customers, creating invoices, updating products, or pulling order data, the structure is consistent and predictable across the board.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Electronic Document Management Edm

Welcome to the NZRT Wiki Podcast. Today we’re looking at Electronic Document Management (EDM).

If you’ve ever wondered how NZRT keeps its documents organised, its emails flowing, and its various platforms talking to each other, EDM is the answer. It sits at the heart of the system as a centralised hub for document storage, email communications, data exchange, and integrations with external services. Think of it as the connective tissue that holds a lot of the day-to-day operational work together.

Let’s walk through what EDM actually covers, starting with its four core sub-modules.

The first is Bookmarks. Just like you’d bookmark a webpage in your browser, this module lets you save and organise references to documents or resources inside the system. It’s a handy way to keep quick access to things you return to often, without having to hunt through folders every time.

The second sub-module is Mass Emailing. This is exactly what it sounds like — the ability to send communications out to large groups of contacts in one go. If you’re managing a campaign, sending out a newsletter, or pushing an update to a list of clients, Mass Emailing is the tool you’d reach for. It’s built directly into EDM so your documents and your outbound communications live in the same ecosystem.

Third is the Email Collector. Where Mass Emailing handles what goes out, the Email Collector handles what comes in. It monitors inboxes and pulls incoming emails into the system so they can be logged, actioned, and tied to the right records. This is particularly important when you look at how EDM connects to the Ticket System — and we’ll come back to that in a moment.

The fourth sub-module is Data Export and Import. This is your bridge between EDM and the outside world in terms of raw data. If you need to bring a bulk set of records into the system, or push data out to another tool or report, this module handles that movement. It supports structured data flows so you’re not copying and pasting things manually.

Now, beyond those four sub-modules, EDM also has a set of broader capabilities worth knowing about.

There’s LDAP integration, which relates to directory services. If your organisation uses a centralised user directory, LDAP allows EDM to connect to it, meaning user accounts and authentication can be managed from one place rather than duplicated across systems.

EDM also supports RSS feed integration. This means you can pull in content feeds from external sources directly into the system, which is useful if you want to monitor news, updates, or any regularly-published external content as part of your workflow.

Social platform linking is another capability. This allows EDM to connect with social media platforms, giving you a way to bridge your document and communication management with your external social presence.

Payment platform integration is also on the list. This one’s particularly relevant if your workflows involve financial transactions or need to reference payment activity. Having that connection inside EDM means you can keep financial context alongside your documents and communications rather than jumping between completely separate systems.

Finally, there’s ClickToDial. This is a feature that lets you initiate a phone call directly from within the system by clicking on a contact’s number. It’s a small quality-of-life feature but a meaningful one if you’re making a lot of outbound calls as part of your work — no manual dialling, no switching apps.

One of the most practically important things to understand about EDM is how it connects to the rest of the platform. Two relationships are called out specifically in the documentation. The first is Integrations — EDM doesn’t operate in isolation. It’s designed to hook into other modules and external services, which is reflected in all those capabilities we just covered. The second is the Ticket System, specifically the email-to-ticket function. When an email comes into the Email Collector, it doesn’t just sit there — it can be automatically converted into a support ticket. This is a powerful workflow for teams managing client requests or support queues, because it means an incoming email becomes an actionable item in your ticketing system without anyone having to manually create that record.

So to bring it all together — EDM gives you centralised document storage, organised bookmarking, outbound mass email, inbound email collection, and structured data movement, all wrapped up with integrations to directories, social platforms, payment systems, phone dialling, and RSS feeds. It’s designed to be the layer of the system that connects communication and documents to action.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Integrations Overview

Welcome to the NZRT Wiki Podcast. Today we’re looking at 🔌 Integrations Overview.

So, if you’ve ever wondered how Dolibarr, our core ERP platform, actually talks to the rest of the world, this episode is for you. The short answer is that Dolibarr connects to external systems in three main ways: through a REST API, through webhooks, and through purpose-built connectors designed for specific platforms. Each of these gives you a different kind of bridge between Dolibarr and the tools you use every day.

Let’s walk through the full integration inventory, because there are eight systems worth knowing about here.

The first is WordPress. This is set up as a CMS and portal publishing integration. What that means for you is that Dolibarr can push content and data out to the NZRT WordPress site, so your ERP and your public-facing web presence can stay in sync rather than living in separate silos.

Second is the REST API itself. This is the programmatic access layer, and it’s arguably the most flexible integration of all. If you’re a developer or you’re working with automation scripts, the REST API is how you talk to Dolibarr directly from code. You can create records, query data, update statuses, and much more, all through standard HTTP requests.

Third, you have payment platforms. NZRT has connectors set up for Stripe, PayPal, and Paybox. So when money moves, Dolibarr knows about it. Whether you’re processing client invoices or handling online transactions, these integrations mean payment events can flow back into your ERP records automatically.

Fourth is LDAP, which stands for Lightweight Directory Access Protocol. This one is about directory and single sign-on synchronisation. In plain terms, it means you can connect Dolibarr to a centralised user directory so that staff accounts and permissions can be managed in one place and reflected across systems, rather than having to maintain separate user lists everywhere.

Fifth is Google Analytics. This is a web analytics integration, and it gives you the ability to connect Dolibarr’s web-facing activity to your Analytics reporting. So if you’re tracking portal traffic or user behaviour on pages that tie back to Dolibarr, this connector closes that loop.

Sixth is ClickToDial. This is a VoIP calling integration that works from within the CRM. What that means practically is that you can initiate phone calls directly from a contact or customer record in Dolibarr, which saves time and keeps your call activity tied to the right records without switching between applications.

Seventh is Gmail SMTP. This covers outbound email. When Dolibarr sends emails, whether that’s invoice notifications, automated messages, or system alerts, the Gmail SMTP connector is what routes those messages out through your Google mail infrastructure. It’s the plumbing behind every email Dolibarr sends.

And eighth is the Email Collector. This one works in the opposite direction to Gmail SMTP. Instead of sending email out, the Email Collector pulls inbound email in and converts it into Dolibarr records. So if a client replies to a message, or an email arrives at a monitored inbox, Dolibarr can pick that up and attach it to the right project, ticket, or contact automatically.

Now, one more thing to know about the way NZRT categorises all of this. There’s a service code used internally called 000INT, which stands for the Integration type. Whenever you’re documenting, ticketing, or tracking work that relates to any of these connectors or external system links, that’s the code you’ll see applied. It maps to a broader set of NZRT Service Codes that help keep everything organised across the business.

To summarise what you’ve just heard: Dolibarr sits at the centre of NZRT’s system architecture and reaches outward through eight key integrations. You’ve got WordPress for publishing, the REST API for developer access, three payment platforms covering Stripe, PayPal, and Paybox, LDAP for directory sync and single sign-on, Google Analytics for web reporting, ClickToDial for VoIP from the CRM, Gmail SMTP for outbound email, and the Email Collector for pulling inbound mail into records. All of this integration work falls under the 000INT service code.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Km Qa Seed List All Thirdparties Projects Tasks

Welcome to the NZRT Wiki Podcast. Today we’re looking at KM Q&A Seed List — All Thirdparties / Projects / Tasks.

This document is a draft seed list for NZRT’s knowledge management system. It hasn’t been pushed to Dolibarr yet — there are currently zero records in the KM module — but this is the source material for a future seeding pass. The data was pulled live from the Dolibarr API on the tenth of June 2026, covering fourteen thirdparties, nineteen projects, and sixty-four standing tasks. TOGAF projects and tasks are intentionally left out of this list and treated as a separate concern.

Before getting into the content, let’s talk about the entry format. Each knowledge management entry has three parts. First, a question — written as something realistic that an agent or team member would actually ask or raise as a ticket. Second, a concise one-to-three sentence answer. And third, a reference pointer to the relevant memory file, configuration section, script, or wiki document where you can dig deeper.

The first major section covers the four business unit projects — the API project for NZRT’s x402 knowledge base, ICS for Internet Consulting Services, ITE for the Iteasel product, and NCS for NZRT Charitable Services. All four share the same four task types. Task one is Marketing and Promotion — pam is the responsible agent, content goes out via WordPress using the wp dot py script, and forum posts go via the forum dot py Python tool. Never use PowerShell for forum posts — session cookies break the CSRF protection. Task two is Technical Development, tracked via system-specific ticket creation scripts with code stored in the matching repository. Task three is Client Delivery, where cas creates the delivery ticket linked to the relevant project and client. Task four is Operations, handled by fin for accounting and sun for procurement.

There’s a specific note for the NCS client delivery task. If a beneficiary submits the intake form but the Dolibarr ticket ends up missing the NCS tag, the problem is in the submission flow. The form posts via AJAX to the WordPress admin handler — not a REST endpoint — and goes through the Dolibarr bridge plugin to create the thirdparty record. The NCS category tag has to be applied via a SQL helper tool because the REST category endpoint isn’t available in this version of Dolibarr.

The second major section covers twelve system and infrastructure projects. For the Obsidian vault, you must read the instructions and schema files before writing any vault note — frontmatter, naming conventions, and cross-linking rules are non-negotiable. For GitHub, you use the gh CLI for GitHub-specific operations and plain git for local commits — never force-push without explicit confirmation. For cPanel and infrastructure, SSH access uses a specific key file and port, restricted to certain network addresses, and on a shared hosting environment you don’t have service restart permissions via SSH — use the cPanel interface instead. For WordPress, content edits go through the REST API via wp dot py, while plugin and theme file changes go through WebDAV. For Dolibarr, the REST API comes first, but for anything it can’t reach — like category tagging or dictionary entries — you drop to SSH and run MySQL directly on the production database. There is no local Dolibarr instance. For Nextcloud, public share links use the OCS sharing API with share type three and read-only permissions, and when uploading TOGAF documents the correct path goes through the Governance subfolder — not directly under the Obsidian root, which is a common mistake. For the Flarum forum, always use Python for posting — a CSRF error is the sign someone used PowerShell instead. For the agent framework, before writing any new script, search the agent repository for an existing ticket creation script first — there are purpose-built scripts with dry-run support for almost every system. And when someone says run pam or run agents, that means cla acts as that agent persona directly, pulls their open Dolibarr tickets, and does the work inline — the run-agents script is deprecated. For Windows operations, PowerShell only — Bash mangles environment variables and path formats. And remember, environment variable values set in one PowerShell call don’t carry over to the next, so set the Dolibarr API key at the top of every command chain that needs it.

The third section covers three vendor and financial projects. BNZ bank transactions are reconciled by fin using Dolibarr’s bank module — currently manual with no automated feed. Bunnings purchases are recorded by sun as supplier invoices against the Bunnings thirdparty. PayPal is treated as a virtual bank account in Dolibarr and reconciled against the payment platform configuration.

On coverage: nineteen of nineteen projects are documented, all sixty-four standing tasks have entries, and fourteen of fifteen thirdparties are covered — The Open Group is excluded because TOGAF is out of scope here. About twenty-five entries are based on documented incidents and existing memory files, and around ten are anticipatory entries based on domain knowledge rather than prior incidents — those are flagged inline. The whole list remains in draft and needs review before any push to the Dolibarr KM module via API.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Manufacturing Orders Mo

Welcome to the NZRT Wiki Podcast. Today we’re looking at Manufacturing Orders (MO).

So, what is a Manufacturing Order? Think of it as the central document that schedules and tracks a production run. When your business needs to make something, a Manufacturing Order is what kicks that process off. It pulls together your components, tells the system what you’re building, how much of it you’re building, and then tracks the whole thing from start to finish. As production happens, it consumes stock from your component inventory and, when everything’s done, it adds the finished goods back into your warehouse. That loop — components go in, finished product comes out — is what a Manufacturing Order manages.

Let’s walk through the lifecycle of a Manufacturing Order, because understanding the stages really helps you see how the whole thing fits together.

It starts in Draft. This is where you’re setting things up. You haven’t committed to anything yet — you’re just putting the order together, specifying what you want to produce and in what quantity. Think of it as your planning stage.

Once you’re happy with it, you move the order to Validated. At this point the system recognises the order as real and approved. You’re saying, yes, this production run is happening.

From there, it moves into the In Production stage. This is the active phase — work is underway, components are being consumed, and you’re recording progress as things get built.

Then comes Completed. The production run is done. The finished goods exist.

And finally, Stock Updated. This is where the system catches up with reality — your finished goods are added to inventory, and the components that were used are deducted from stock. The books reflect what actually happened on the floor.

So that’s five stages: Draft, Validated, In Production, Completed, and Stock Updated. Each one represents a meaningful checkpoint in the production process.

Now let’s talk about how you actually work with a Manufacturing Order day to day.

The first thing you do is create the MO from a Bill of Materials, which you might hear referred to as a BOM. A Bill of Materials is essentially the recipe — it lists every component you need and in what quantity to produce the finished item. When you create a Manufacturing Order, you reference that BOM and specify how many units you want to produce. The system uses that information to work out exactly what stock it needs to pull.

Next, you check and reserve your component stock. Before you can actually build anything, you need to know the materials are available. The system lets you verify that the components are on hand and reserve them so they’re earmarked for this production run and not accidentally allocated elsewhere.

After that, you record production progress as work happens. This keeps the system up to date in real time, so your inventory and production data stay accurate throughout the run rather than only at the end.

And finally, when the run is done, you complete the MO. That’s the action that triggers the finished goods being added to stock — closing the loop we talked about earlier.

There are a few related areas you’ll want to be familiar with alongside Manufacturing Orders. The Bill of Materials is the starting point for every MO, so understanding how BOMs are structured is essential. Stock and Warehouse Management ties in closely, since every MO both draws from and contributes to your inventory. And if you’re tracking the cost side of things, the Margins module connects to MOs for production cost tracking — useful for understanding how profitable each production run actually is.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Finance Accounting

Welcome to the NZRT Wiki Podcast. Today we’re looking at Finance & Accounting.

This is one of the most central areas of the NZRT system. It covers everything from sending out invoices to reconciling your bank accounts, running double-entry accounting, and pulling together financial reports. If money moves through the business, it flows through this module.

Let’s start by walking you through the eight sub-modules that make up Finance & Accounting.

First up is Invoices and Payments. This is where you manage your billing — creating invoices for customers, recording incoming payments, and keeping track of what’s owed to you.

Next is Bank Accounts Management. This module lets you connect and manage your business bank accounts within the system, so you can track balances and transactions all in one place.

Third is Direct Debit and Credit Transfer. If your business collects payments directly from customer accounts, or pushes payments out to suppliers automatically, this is the module that handles those electronic transfer workflows.

Fourth is Accounting Management. This is the core accounting engine — think double-entry bookkeeping, chart of accounts, journal entries, and everything that underpins the financial records of the business.

Fifth is Donations Management. This one is particularly relevant if you’re working with the charitable services side of the organisation. It helps track and record donations separately from standard commercial transactions.

Sixth is Loan Management. If the business has taken on loans or is managing debt obligations, this module keeps track of loan balances, repayment schedules, and interest calculations.

Seventh is Margins. This is where you get visibility into profitability — how much margin you’re making on your products, services, or projects. It’s useful for understanding not just revenue, but what you’re actually keeping after costs.

And eighth is Financial Reports. This brings everything together. Once your transactions are recorded and reconciled, you use this module to generate the reports you need — profit and loss statements, balance sheets, cash flow summaries, and more.

Now let’s talk about how money actually flows through the system, because understanding this flow is key to getting value from all those sub-modules.

There are two main flows — one for sales, and one for purchases.

On the sales side, it starts when you raise a sales invoice. That invoice goes into accounts receivable, which is the record of money owed to you. When the customer pays, that payment comes in as a bank receipt. You then reconcile that receipt against your bank account, and it rolls up into your trial balance — which is the foundation of your financial statements.

On the purchase side, it works in reverse. You receive a purchase invoice from a supplier. That goes into accounts payable — the record of money you owe to others. When you pay the supplier, that goes out as a bank payment. Again, you reconcile that against your bank account, and it feeds into the same trial balance.

So both flows — whether money is coming in or going out — follow the same pattern. Invoice, then accounts receivable or payable, then a bank transaction, then reconciliation, then the trial balance. Once you have that cycle in your head, the whole Finance and Accounting module starts to make a lot more sense.

The two related areas you will hear referred to most often are Customer Invoices on the accounts receivable side, and Supplier Invoices on the accounts payable side. These link directly into the financial flow just described — they are your entry points into the system on either side of the ledger.

To bring it all together: Finance and Accounting in the NZRT system is a full-cycle financial management toolkit. You have eight sub-modules covering invoicing and payments, bank account management, direct debits and credit transfers, core accounting, donations, loans, margins, and financial reporting. And the whole thing is held together by two mirrored financial flows — one for sales coming in, one for purchases going out — both of which end up reconciled and feeding into your trial balance.

Whether you are a consultant tracking billable time, someone in the accounts team processing supplier invoices, or a manager who needs a clear picture of margins and financial health, this is the area of the system that keeps everything grounded in the numbers.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Financial Reports

Welcome to the NZRT Wiki Podcast. Today we’re looking at Financial Reports.

If you’ve ever needed a quick snapshot of where your business stands financially, this is the part of the system you’ll want to get comfortable with. NZRT’s platform includes a solid set of built-in financial reports, and once you know what each one does, you’ll find yourself reaching for them regularly. Let’s walk through what’s available and what each report actually tells you.

First up is the turnover by period report. This one gives you your revenue over a date range that you specify. So if you want to see how much came in during the last quarter, or compare this month to the same month last year, this is where you go. It’s your top-level revenue picture.

Next, you’ve got aged debtors. This report is all about money that customers owe you but haven’t paid yet. It breaks down outstanding customer invoices so you can see who owes what, and crucially, how long those invoices have been sitting unpaid. The older a debt gets, the harder it can be to collect, so this report is really useful for keeping your accounts receivable under control.

On the flip side, there’s aged creditors. Same idea, but pointing the other way. This one shows you what you owe to your suppliers. If you want to stay on top of your payment obligations and avoid any surprise overdue notices, aged creditors is the report to check.

Then there’s the VAT or GST summary, depending on where you’re operating. This pulls together your tax liability for a given period. When it’s time to file your tax return or check what you owe the tax authority, this report does the heavy lifting for you. It summarises the tax position cleanly so you’re not digging through individual transactions.

The trial balance is your more detailed accounting view. It lists all of your accounts and shows you the total debits and credits for each one. If you or your accountant needs to verify that the books are balanced, or you’re doing a period-end close, this is the report to run. It’s comprehensive and covers every account in the system.

Cash flow gives you a receipts versus payments view. In simple terms, it shows money coming in on one side and money going out on the other. This is important because profitability and cash flow are two different things, and a business can look profitable on paper while still having a cash problem. This report helps you see the actual movement of money, not just the accounting entries.

Finally, there’s the margin report. This one digs into profitability and margins, so you can see not just how much revenue you’re generating, but how much of that is actually profitable after costs. If you’re analysing which products, services, or clients are performing well versus which ones are eating into your bottom line, the margin report is where you’ll find those answers.

Now, once you’ve run any of these reports, you have a few options for getting the data out of the system. You can export in three formats. PDF is great if you need a clean, shareable document that looks polished for a client or a meeting. CSV is your go-to if you want to pull the data into a spreadsheet and do your own analysis or manipulation. And ODS is the open document spreadsheet format, which works well if you’re using tools like LibreOffice or any application that supports that standard.

If you want to go deeper after exploring these reports, two related areas worth looking into are Accounting Management, which covers how your accounts and transactions are structured in the first place, and Data Export, which goes into more detail about getting information out of the system in bulk.

So to recap, you’ve got seven core financial reports available: turnover by period for your revenue picture, aged debtors and aged creditors for managing what’s owed to you and what you owe, VAT or GST summary for your tax position, trial balance for your full account view, cash flow for tracking actual money movement, and the margin report for understanding profitability. And you can get all of that out in PDF, CSV, or ODS format depending on what you need to do with it.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Human Resources Management

Script below. ~620 words, fits 3-6 min.

Welcome to the NZRT Wiki Podcast. Today we’re looking at Human Resources Management.

If you work with the NZRT systems, Human Resources Management is the part of the platform that covers the full employee lifecycle. That means everything from bringing someone on board right through to tracking their time, managing their leave, and handling their expenses. Think of it as your central hub for everything people-related.

Let’s walk through what’s actually inside this module, because there are five distinct sub-modules that each handle a different part of the HR picture.

The first is Employee and Staff Management. This is your foundation. It’s where you keep records on each person in the organisation — their details, their role, their employment information. Before anything else in HR can work properly, you need your employee records set up here. If you’re onboarding someone new, this is where you start.

Next up is Employee Leave Management. This is exactly what it sounds like — it’s the module that handles requests for time off, whether that’s annual leave, sick leave, or any other type your organisation recognises. You can track who has requested leave, what’s been approved, and how much entitlement each employee has available. If you’re a manager reviewing leave requests, this is your go-to area. And if you’re an employee wanting to check your remaining leave balance, this is where you’d look too.

The third sub-module is Expense Reports. This one is particularly useful for anyone in the team who spends money on behalf of the company — whether that’s travel, supplies, client entertainment, or anything else that needs to be reimbursed. You submit your expenses here, attach your receipts, and the report flows through for approval. It connects directly with the Finance side of the platform, so once an expense report is approved, the reimbursement process can move forward without you having to chase anyone down separately.

Fourth is Recruitment Management. If you’re hiring, this module gives you a place to manage that process from within the same system you use for everything else. You can track candidates, manage job openings, and move applicants through the stages of your recruitment pipeline. It keeps everything in one place so that when someone is hired, transitioning them into the Employee and Staff Management module is a natural next step.

And the fifth sub-module is Timesheets. This one is about tracking time — specifically, who worked on what and for how long. What makes this particularly powerful in the NZRT setup is that timesheets connect directly to the Projects module. So if your team is logging hours against specific tasks in a project, that time data flows through from timesheets into the project records. It means your project reporting stays accurate, and you have a clear picture of where time is actually being spent across the organisation.

Now, a quick note on how HR connects to the rest of the platform. You’ve already heard that timesheets link to Projects — that’s a key one, especially if your organisation bills clients by time or tracks project budgets carefully. The other major connection is between Expense Reports and Finance. When someone submits an expense report and it gets approved, that feeds into the Finance module so that reimbursements can be processed through the normal financial workflow. You don’t need to duplicate the information anywhere — the two modules talk to each other.

So to pull it all together: Human Resources Management covers five areas. You have Employee and Staff Management for your core people records. Employee Leave Management for tracking time off. Expense Reports for reimbursements. Recruitment Management for your hiring process. And Timesheets for logging time, which ties back into your project tracking. The whole module sits at the intersection of your people processes and your financial and project workflows, which is what makes it worth understanding even if you only actively use one or two of those sub-modules day to day.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Module Setup

Welcome to the NZRT Wiki Podcast. Today we’re looking at Module Setup.

If you’re setting up Dolibarr for the first time — or coming back to tidy up your configuration — the Module Setup section is where you’ll spend a good chunk of your time. The core idea is simple: Dolibarr works on a modular system, meaning features aren’t all switched on by default. You pick what you need, activate it, and build your environment piece by piece. To get there, you navigate to Admin, then choose Modules and Applications from the menu. That’s your control panel for everything we’re about to walk through.

Now, NZRT has a recommended activation order, and there’s a reason it exists. Some modules depend on others being active first, and if you switch things on in the wrong sequence, you can end up with missing options or broken links between parts of the system. So let’s go through the twelve-step order that NZRT recommends.

You start with Company Settings. Before anything else, you want to lock in your currency — for NZRT that’s New Zealand Dollars — and your timezone, which is Pacific Auckland. Get this right first, because these settings flow through to invoices, reports, and timestamps across the entire system.

Step two is Products and Services. This is your catalogue — anything you sell, provide, or stock lives here. You’ll need this active before you can attach items to invoices or orders.

Step three is Third Parties. This covers both your customers and your suppliers. Think of Third Parties as your contacts database with a financial layer on top. Customers are people or organisations you invoice, and suppliers are who you pay.

Step four is Invoices — both customer invoices and supplier invoices. Once your third parties are set up, you can start creating and tracking financial documents in both directions.

Step five is Bank Accounts. This is where you record your actual bank accounts so that payments can be reconciled against them. You want this in place before you start logging payments against invoices.

Step six is Orders, covering both sides — customer orders coming in, and supplier orders going out. Having invoices already active means orders can flow cleanly into billing.

Step seven is Stock Management. If you’re tracking physical inventory, this module handles it. It ties in with your products catalogue from step two, so that module needs to be live first.

Step eight is Projects and Tasks. This is where you manage work — whether that’s internal projects, client engagements, or anything else you want to track with timelines and task assignments.

Step nine is HR, which actually covers three things in one: Leave management, Expenses, and Timesheets. These are the tools your team uses to log time off, claim costs back, and record the hours they work. Having Projects and Tasks already active means timesheets can link directly to project records.

Step ten is EDM and Email Collector. EDM stands for Electronic Document Management, and combined with the email collector, this gives you tools for sending bulk communications and capturing inbound emails into the system.

Step eleven is the REST API. This is the bridge between Dolibarr and any external tools or scripts that need to talk to it. At NZRT, a lot of the automation — agents, scripts, integrations — relies on this API being active. Without it, external systems simply can’t connect.

Step twelve, and last in the sequence, is the WordPress Integration Module. This is the final piece because it depends on everything else being in place — particularly the API. Once it’s active, data can flow between your WordPress site and Dolibarr, keeping things like product listings or customer records in sync.

To recap quickly: you start with your foundational settings, build out your core records — products, contacts, finances — then layer on operational tools like orders and stock, add your people management modules, open up external connectivity with the API, and finish with third-party integrations like WordPress.

One more thing worth noting: the wiki cross-references a Full Module List if you need to go beyond these twelve. That’s a deeper reference for edge cases or modules not covered in the standard activation path.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Ncs Intake Workflow

Welcome to the NZRT Wiki Podcast. Today we’re looking at NCS Intake Workflow.

So what is the NCS Intake Workflow? Put simply, it’s the end-to-end process that takes a charitable services application from the NZRT public website all the way into the Dolibarr ERP system. Let’s walk through exactly how that happens.

It all starts with a trigger. A charitable entity or community group visits the intake form page on the NZRT website. The page lives at the NCS intake address on nzrtnetwork.com. One thing worth knowing is that this page is a standalone PHP file, not a WordPress plugin. That was a deliberate choice, made for speed and simplicity.

Now, when someone fills in that form, they’re providing four pieces of information: their organisation name, their email address, their phone number, and a message describing their situation or need. Once they hit submit, the automated process kicks in.

The PHP handler that sits behind the form does two important things almost simultaneously. First, it creates a new thirdparty record in Dolibarr. Think of a thirdparty as Dolibarr’s way of representing an external organisation. The record gets tagged with a type that identifies it as an NCS entity, and it receives a unique client code that combines the letters NCS, the organisation name, and a timestamp so you can always trace when that record was created.

Second, that same PHP handler creates a support ticket in Dolibarr and assigns it to an agent called cas. The ticket gets categorised under NCS, it’s linked to the relevant NCS project inside Dolibarr, and it’s tagged so it shows up correctly in all the right views. So by the time the form submission is complete, you’ve got both an organisation record and a live support ticket waiting in the system.

The fourth automated step is an email notification. Nathan, the person responsible for reviewing these applications, receives an email with the subject line NCS Application followed by the organisation’s name, and it includes a summary of what was submitted along with delivery instructions.

That brings us to the manual review stage. Nathan reads the application email and decides whether it’s a good fit. If he’s happy with it, he replies with the word APPROVED followed by the word services. If the application isn’t suitable, there’s no automated reply needed — that gets handled manually on a case-by-case basis.

Once Nathan sends that approval reply, the automated delivery process takes over. A script called mail handler dot py is watching for exactly that kind of reply. When it detects Nathan’s approval, it triggers another script called cas NCS delivery dot py. That script is responsible for sending the applicant the GitHub repository ZIP files they need by email.

Now let’s talk about how the form fields map across to Dolibarr, because that’s a useful thing to understand. There are four form fields and here’s where each one ends up. The organisation name feeds into both the main name field on the thirdparty record and into that client code prefix we mentioned earlier. The email address maps directly to the email field. The phone number maps to the phone field. And the message the applicant writes goes into a private note on the thirdparty record, so your team can see it internally but the applicant won’t see it reflected back to them.

Finally, there are a couple of escalation rules to be aware of. If an applicant goes quiet and there’s been no response after three contact attempts spread across seven days, the thirdparty record gets marked as Cold and the ticket gets closed. That keeps your queue clean and avoids things sitting open indefinitely. The other rule covers schools and large institutions — if an application comes in from one of those, you defer it. They’re considered out of scope for the near-term NCS programme, so they don’t get processed through the same flow.

And that’s the full picture. A form submission on the website kicks off an automated chain that creates both an organisation record and a support ticket in Dolibarr, notifies Nathan by email, waits for his approval, and then automatically delivers the relevant resources to the applicant. The only human decision in the whole workflow is Nathan’s approval reply, and everything else is handled for you.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Opportunities Leads

Welcome to the NZRT Wiki Podcast. Today we’re looking at Opportunities & Leads.

If you’ve ever wondered how NZRT tracks deals from the moment a potential client makes contact all the way through to closing a sale, this is the episode for you. The Opportunities and Leads section of the wiki covers the sales pipeline — a structured way to manage deals, keep tabs on where each one sits, and get a clear picture of what revenue might be coming in and when.

So let’s start with the big picture. A pipeline is essentially a visual and organisational tool that shows you every active deal and what stage it’s at. Think of it like a series of checkpoints a deal passes through on its way to either being won or lost. And the good news is that in NZRT’s setup, those stages are customisable — you can adapt them to fit how your team actually works.

Out of the box, there are five pipeline stages. The first is Qualification, where you’re figuring out whether a lead is even worth pursuing. Does this prospect have a real need? Do they have the budget? Is the timing right? If the answers look promising, you move into the second stage, Needs Analysis, where you dig deeper into what the client actually requires. Stage three is Proposal Sent — this is when you’ve put together a formal offer and it’s sitting in the client’s inbox. Stage four is Negotiation, where you’re going back and forth on terms, pricing, or scope. And finally, stage five is either Won or Lost — the deal either closes in your favour or it doesn’t, and either way you record the outcome so you can learn from it.

Now, within each opportunity record, there are a handful of key fields you’ll be working with regularly. First, you link the opportunity to a customer or prospect — this keeps everything connected so you always know who a deal belongs to. Then you record the estimated amount, which is the value of the deal if it closes. Alongside that, you set a closing date — your best estimate of when the deal will wrap up. And here’s a really useful one: the probability percentage. This is a number that reflects how confident you are that the deal will close. A deal in early qualification might sit at twenty or thirty percent, while something in negotiation might be at seventy or eighty. That probability figure is what makes pipeline reporting meaningful, because it lets you calculate a weighted forecast of expected revenue rather than just adding up everything optimistically.

You also assign a sales rep to each opportunity, so it’s always clear who owns the relationship and is responsible for moving things forward. And there’s a next action date field, which is basically a built-in reminder — it tells you when you’re supposed to follow up, send something, or take the next step. This stops deals from going quiet and falling through the cracks.

Now let’s talk about how opportunities connect to the rest of the system, because this is where things get powerful. Once you’ve done the groundwork and you’re ready to put a formal offer in front of a client, you can create a Commercial Proposal directly from the opportunity. You don’t have to start from scratch — the information already in the opportunity record feeds into the proposal, saving you time and reducing the chance of errors.

And once a deal moves to Won, you can convert it into a Customer Order. That’s the moment the deal stops being a sales record and becomes an operational one — it triggers the next phase of delivery. So the pipeline isn’t just a reporting tool, it’s actually the starting point for the whole client engagement workflow.

A couple of practical tips worth keeping in mind. Keep your probability percentages honest and up to date — they’re only useful if they reflect reality. If a deal has been sitting in Negotiation for three months without movement, the probability probably needs to come down. And make sure next action dates don’t lapse — an overdue action date is a signal that a deal needs attention.

Also, if you’re managing a team, the assigned sales rep field makes it easy to filter the pipeline by person, so you can review what each rep is working on in a single view.

The Opportunities and Leads module is really the heartbeat of sales activity at NZRT. It gives you visibility, accountability, and a direct line into proposals and orders when the time comes. Whether you’re a rep managing your own deals or a manager reviewing the whole pipeline, this is the place to start.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Payment Platforms Integration

Welcome to the NZRT Wiki Podcast. Today we’re looking at Payment Platforms Integration.

So let’s start with the big picture. When NZRT works with clients and needs to collect payment online, there’s one platform handling all of that — and that platform is PayPal. That’s the only online payment method NZRT currently uses, and it covers the two most common ways a customer might want to pay: through their PayPal wallet directly, or by entering a card. So whether your customer has a PayPal account or not, the checkout experience still works for them.

Now, you might wonder why just one platform. Keeping things simple has real advantages. One integration to maintain, one place to check transaction history, one set of credentials to manage, and one reconciliation process when it comes to your books. For a consultancy like NZRT, that simplicity keeps overhead low and reduces the number of things that can go wrong.

Let’s walk through exactly how the payment flow works from end to end, because it’s worth understanding each step clearly.

It all starts with an invoice. When NZRT raises an invoice for a client — whether that’s for consulting work, a project deliverable, or any other service — that invoice gets a button embedded in it. You’ll see it labeled something like “Pay online.” That button is the entry point for the entire payment process. The customer doesn’t need to navigate anywhere else or look up bank details. The call to action is right there in the invoice itself.

When the customer clicks that button, they get taken directly to a PayPal payment page. This is where they complete the transaction. If they have a PayPal account, they can log in and pay from their balance or a linked funding source. If they don’t have an account, they can still pay by entering their card details directly on that page. PayPal handles all of the secure processing at that point — NZRT’s systems aren’t touching card data at all, which is a significant compliance and security benefit.

Now here’s the part that makes this integration really useful from an operational standpoint. Once the payment goes through and PayPal confirms it, the invoice in Dolibarr — which is NZRT’s ERP system — gets automatically marked as paid. You don’t need to go in manually and update anything. The status change happens on its own. That means your accounts are staying current in real time, and you’re not relying on someone remembering to tick a box after a payment notification comes in.

This three-step flow — invoice raised, customer pays via PayPal, invoice auto-updated — is clean and low-friction for everyone involved. The customer gets a familiar, trusted payment experience. The finance team gets automatic reconciliation. And there’s a clear audit trail through both PayPal’s transaction records and the invoice status in Dolibarr.

If you’re working in the finance or client management side of NZRT, it’s worth knowing how this connects to the broader sales workflow. The Payment Platforms Integration sits within the Customer and Sales area of the wiki, which means it ties into how invoices are created, how clients are managed, and how revenue is tracked. If you’re troubleshooting a payment issue — say, a customer says they paid but the invoice hasn’t updated — the first place to check is PayPal’s transaction records on that end, then look at whether the Dolibarr integration received the confirmation signal correctly.

It’s also worth noting the status of this integration. As of the last update to this documentation, PayPal is marked as active. There are no other payment platforms listed as planned or in progress right now. So if you’re ever asked whether NZRT supports Stripe, direct bank transfer through an online portal, or any other payment method — the current answer is no, not through an integrated online flow. Any other payment arrangements would be handled outside this system.

One more practical point: because the pay button is embedded in the invoice itself, the quality of that invoice matters. If the invoice isn’t generated correctly, or the integration isn’t configured to embed the button, the customer won’t have a direct path to pay online. If you ever notice a client hasn’t paid and you want to confirm they had a working payment option, check that the invoice was issued with the button properly embedded. That’s your first diagnostic step before chasing the client or assuming there’s a payment issue on their end.

So to recap what you’ve learned today: NZRT uses PayPal as its single online payment platform. It supports both PayPal wallet and card payments. The flow is straightforward — invoice out, customer clicks pay, PayPal processes it, invoice auto-marks as paid. It’s integrated with Dolibarr, it’s currently active, and it keeps the payment process simple for both clients and the internal team.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Product Management

Welcome to the NZRT Wiki Podcast. Today we’re looking at Product Management.

Product Management in Dolibarr is the part of the system that controls your full product lifecycle. That means everything from the moment you define what a product is, all the way through to how it sits in your warehouse, how it gets manufactured, and how it moves out the door. If you work with physical goods or services in any structured way, this is the area of the system you will be living in most.

Let’s walk through what Product Management is actually made up of. There are seven sub-modules, and each one handles a distinct part of the product world.

The first is Products and Services, which is your master catalogue. Think of this as the source of truth for everything your business sells or uses. Every item, every service, every component — it lives here first.

The second is Stock and Warehouse Management. This gives you real-time visibility into your inventory. You can see what you have on hand, where it is physically located, and how stock levels are changing as things move in and out.

Third, you have Barcodes. This module handles both the generation and scanning of barcodes, which is useful when you need to speed up receiving, picking, or stocktaking processes.

Fourth is Batches, Lots, and Serials. This one is all about traceability. If you need to track which batch a product came from, when it was made, or which serial number belongs to which unit, this module gives you that level of detail.

Fifth is Product Variants. This is where you manage combinations of things like colour and size. So if you sell a t-shirt that comes in three colours and four sizes, you don’t need twelve separate catalogue entries — you manage it as one product with variants.

Sixth is the Bill of Materials. A Bill of Materials tells the system what components go into making a finished product. It’s the recipe. If you manufacture anything, this is a foundational module because it defines what raw materials or sub-assemblies you need before you can produce the end result.

And seventh is Manufacturing Orders. This is where MRP-driven production happens. MRP stands for Material Requirements Planning, and what that means in practice is the system can look at what you need to produce, check your Bill of Materials, and work out what stock you need to fulfil that production run.

Now let’s talk about how all of this connects together in a typical workflow. The process starts with your Catalogue — you define what you’re making or selling. From there, you move to your Bill of Materials, where you specify what components are required. That feeds into a Manufacturing Order, which triggers the actual production process. Once production is complete, you get a Stock Movement — meaning your finished goods are recorded as entering your warehouse. And then finally, those goods flow out through Sales and Shipping.

So the chain looks like this in practice: you set up your product, you define its recipe, you raise an order to make it, the stock gets updated when it’s done, and then it goes out to the customer. Each step feeds the next, which is what makes this module set so powerful when you have it configured correctly.

It’s also worth noting how Product Management connects to the rest of the Dolibarr system. Customer Orders consume your stock when a sale is made, so the two are tightly linked. Purchase Orders work in the other direction — when your stock is running low, you use Purchase Orders to replenish it from your suppliers. And if you want to understand how profitable your products actually are, the Margins module ties in here too, letting you see product profitability across your catalogue.

So to pull it all together — Product Management is the backbone of your operational system. It’s not just a list of things you sell. It’s a connected set of tools that track what you have, how you make it, what it costs, and how it moves. Whether you’re a product-based business, a manufacturer, or somewhere in between, understanding these seven sub-modules and how they interact will save you a significant amount of time and guesswork.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Products Services Catalogue

Welcome to the NZRT Wiki Podcast. Today we’re looking at Products & Services Catalogue.

So let’s start with what this catalogue actually is. Think of it as the master reference for everything NZRT sells, buys, or manufactures. If an item appears on an invoice, a purchase order, or a commercial proposal, it lives here first. Every product, every service, every line item has to be defined in this catalogue before it can go anywhere else in the system. It’s the single source of truth for your product and service data.

Now let’s walk through the key fields you’ll encounter when you open up a product or service record. There are several important pieces of information that make each record tick, and understanding them will save you a lot of confusion down the line.

The first field is the Reference. This is the unique product code that identifies the item. No two products share the same reference, so when you’re searching, filtering, or reporting, this is the field that keeps everything unambiguous. It’s essentially the item’s ID across the whole system.

Next up is the Label. This is the display name — the human-readable name that shows up on documents like quotes, invoices, and proposals. Customers see this, so it needs to be clear and descriptive.

Then you have the Type field, and this one is important because it determines how the system handles the item. A product is stock-tracked, meaning the system monitors quantities, movements, and inventory levels. A service, on the other hand, is non-stock — it doesn’t have physical inventory behind it. Think of hours of consulting work versus a physical piece of hardware. Same catalogue, different behaviour under the hood.

After that, you’ve got the Selling Price and the Cost Price. These two fields work together to give you your margin calculation. The selling price is what you charge the customer. The cost price is what it costs you to provide or procure the item. The gap between the two is your margin, and the system uses these fields to surface that for you automatically on reports and proposals.

The VAT Rate field defines the tax rate applied to the item when it appears on invoices and proposals. Getting this right at the product level means you don’t have to think about it every time you raise a document — it just flows through correctly.

The Unit of Measure field tells the system how the item is counted or measured. This could be pieces, kilograms, hours, litres, or any other unit relevant to the item. It’s what appears alongside the quantity on your documents, so again — setting it correctly here saves effort everywhere else.

You’ll also notice two additional fields referenced in the catalogue: Barcodes and Variants. Barcodes are covered in their own dedicated section of the wiki, so if you’re working with physical products and need to assign or scan barcodes, that’s where you’ll find the detail. Variants are similarly covered separately — these come into play when a single product exists in multiple configurations, like different sizes or colours. Both of those topics go deeper than the catalogue overview, so they have their own space.

Now let’s talk about where the Products and Services Catalogue connects to the rest of the system. There are three key areas.

First is Stock and Warehouse Management. Any item typed as a product — meaning it’s stock-tracked — will feed into your stock levels, warehouse locations, and inventory movements. The catalogue is where the item is defined; the stock module is where its physical life plays out.

Second is Bill of Materials. If you manufacture or assemble anything, the Bill of Materials module uses catalogue items as the components. You define what goes into a finished product by referencing other catalogue entries, so a clean, well-maintained catalogue directly supports your production workflows.

Third is Commercial Proposals. When your team puts together a quote for a customer, they’re pulling items directly from this catalogue. The label, the selling price, the VAT rate, the unit of measure — all of it flows from the catalogue record into the proposal automatically. This is why keeping catalogue data accurate is so important — errors here show up directly on customer-facing documents.

So to bring it all together — the Products and Services Catalogue is the foundation layer for almost everything commercial in the system. You define an item once, with the right reference, label, type, pricing, tax rate, and unit, and that definition then powers your invoicing, your stock management, your manufacturing, and your sales proposals. The more accurate and consistent your catalogue entries are, the smoother everything downstream runs.

If you’re new to managing products in the system, start by understanding the distinction between products and services — that Type field really does change how the system behaves. And make sure your reference codes follow whatever naming convention your team has agreed on, because once references are in use on transactions, renaming them gets complicated.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Projects Tasks

Welcome to the NZRT Wiki Podcast. Today we’re looking at Projects & Tasks.

Projects and Tasks is the part of the NZRT system where you plan, organise, and track your work from start to finish. Whether you’re managing a client engagement, an internal initiative, or a smaller piece of consulting work, this is where you bring it all together — from the initial plan right through to completion.

Let’s start with how a project is structured. Think of it as a tree. At the top you have the project itself — that’s your overarching container for all the work. Underneath that, you break things down into tasks. Each task can be assigned to a specific person, and you can set an estimated number of hours for how long it should take. Then, if a task is complex enough, you can go one level deeper and create sub-tasks underneath it. So for example, you might have a project at the top, then Task One assigned to a team member with ten hours estimated, and underneath that, Task One might have its own sub-tasks — say, research, drafting, and review. Task Two sits alongside it at the same level. This hierarchy lets you get as granular as you need without losing sight of the big picture.

Now let’s talk about what you can actually do with that structure. There are five main feature areas worth knowing about.

First, there’s the Gantt-style timeline view. This gives you a visual representation of your project schedule — you can see which tasks are running in parallel, which ones depend on others finishing first, and how the overall timeline is shaping up. It’s a great way to spot scheduling conflicts or gaps before they become a problem.

Second is time logging and timesheets. As you and your team work through tasks, you log the actual time spent against each one. This feeds directly into the timesheets module, keeping everything connected. You’re not re-entering data in two places — it flows through automatically.

Third, you get budget versus actual tracking for both hours and cost. This is really valuable because it means you can compare what you planned at the start of the project against what’s actually happening. If a task is running over hours, or a project is burning through budget faster than expected, you’ll see that clearly rather than finding out at the very end.

Fourth is billable project invoicing. If you’re working on a client project, you can mark tasks as billable and generate invoices directly from the project. This connects your project management and your finance side, so you’re not copying data across systems or reconciling things manually at month end.

And fifth, you can attach documents to a project. Supporting files, briefs, contracts, reference material — whatever you need to keep close to the work — can live right there alongside the tasks themselves.

Now, Projects and Tasks doesn’t work in isolation. It connects to a few other areas of the system that are worth being aware of.

The Shared Calendar and Agenda ties in with your project timeline, so deadlines and milestones can show up alongside other scheduled events. That helps with visibility across the whole team.

Timesheets, as mentioned, receives the time entries you log against tasks. But the timesheets module also has its own views and reporting, so if you need to look at how time is being spent across multiple projects or across the team as a whole, that’s where you’d go.

And finally, there’s reporting — specifically project profitability reporting. Once your actual hours and costs are tracked against your budget, the reports module can show you whether a project is running at a profit or a loss. For a consultancy like NZRT, this is essential. It tells you whether the work you’re delivering is being captured and billed correctly, and whether your estimates are landing where they should.

So to bring it all together — Projects and Tasks gives you a structured way to break work down into manageable pieces, assign it to the right people, track time and costs as you go, and connect that information through to invoicing and reporting. It’s the central hub for managing delivery, and when used consistently, it gives you a clear picture of where every project stands at any given moment.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Purchase Orders Po

Welcome to the NZRT Wiki Podcast. Today we’re looking at Purchase Orders, or POs as we tend to call them day to day.

So what is a Purchase Order? At its core, a Purchase Order is a formal order you send to a supplier. It’s the document that kicks off the buying process on your end. Once a PO is in play, it does two important things downstream. First, it triggers the goods reception process, so when your delivery arrives you have something to match it against. Second, once that delivery happens, it generates the supplier invoice for you automatically. That tight link between ordering, receiving, and invoicing is what makes Purchase Orders such a central piece of the procurement workflow in Dolibarr.

Now let’s talk about the lifecycle of a Purchase Order, because understanding where a PO sits at any given moment tells you exactly what can and can’t happen next. The wiki shows this as a flow through six stages, so let me walk you through each one.

It starts as a Draft. This is your working document. Nothing has been committed yet. You’re pulling together the supplier, the line items, quantities, prices. Think of it as your scratchpad before anything official happens.

From Draft, a PO moves to Approved. This is where a sign-off happens. Depending on how your approval workflow is configured, this might happen automatically for low-value orders or it might require a manager to manually approve it when the order value crosses a certain threshold. More on that in a moment.

Once approved, the PO moves to Sent. This means the order has gone out to the supplier. They know what you want and when you want it.

Here’s where it gets interesting. When goods start arriving, the PO can enter a Partially Received state. Not everything has to arrive at once. If your supplier sends you half the order today and the rest comes next week, Dolibarr handles that gracefully. You receive what arrived, and the system keeps track of what’s still outstanding. That outstanding portion becomes a back-order that stays on the PO until it’s fulfilled.

Once everything has arrived, the PO moves to Fully Received. That’s your confirmation that everything you ordered has come through the door.

And finally, the last stage is Invoiced. At this point the supplier invoice has been generated and the financial side of things is locked in.

So that’s the six stages: Draft, Approved, Sent, Partially Received, Fully Received, and Invoiced. Each stage is a checkpoint that keeps your procurement process structured and auditable.

Now let’s look at the key features that make Purchase Orders in Dolibarr genuinely useful.

First up is multi-currency support. If you’re buying from international suppliers, you can raise a PO in the supplier’s currency. You don’t have to manually convert everything back to your home currency before you enter it. The system handles that.

Second is the approval workflow, and this one is worth pausing on. You can configure thresholds so that smaller orders go through automatically while larger ones require explicit approval before they move forward. This gives you financial controls without creating unnecessary friction for routine purchases.

Third is partial reception and back-order tracking. You already heard this touched on in the lifecycle walkthrough. The point is that you don’t have to wait for a complete delivery to start processing what’s arrived. You can receive in stages, and the system keeps a running tally of what’s still due. That’s especially handy when you’re dealing with suppliers who ship in batches or when lead times are unpredictable.

Fourth is automatic stock updates on reception. When you mark goods as received against a PO, your stock levels update automatically. You don’t have to go into a separate stock module and manually adjust quantities. The reception event does that work for you in the background. This keeps your inventory accurate in real time.

Those four features together mean that a Purchase Order isn’t just a piece of paperwork. It’s a live document that drives actions across multiple parts of the system.

Finally, it’s worth knowing how Purchase Orders connect to other areas of Dolibarr. When goods arrive, that flows into Delivery and Reception. Once the PO is fully or partially received, it ties into Supplier Invoices and Credit Notes, which is where the financial reconciliation happens. And as we just mentioned, the reception event feeds directly into Stock. So if you’re working in any of those areas and something looks off, it’s often worth tracing back to the originating Purchase Order to understand where things stand.

That’s the full picture of Purchase Orders in Dolibarr. From raising a draft all the way through to invoicing, the PO is the thread that connects your supplier relationship to your internal receiving and financial processes.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Stock Warehouse Management

Welcome to the NZRT Wiki Podcast. Today we’re looking at Stock & Warehouse Management.

If you’ve ever wondered how NZRT keeps track of what’s in stock, where it is, and when you’re running low, this is the episode for you. Stock and Warehouse Management is the part of the system that gives you real-time visibility into your inventory levels across one or more warehouse locations. And when things start getting low, it doesn’t just sit there quietly — it sends you an alert.

Let’s walk through what this module actually does for you.

First up, you have support for multiple warehouse locations. Whether your business operates out of one building or several sites across the country, the system can track stock in each of those places separately. You always know not just how much of something you have, but exactly where it is.

Next, there’s the concept of stock movements. Every time something changes in your inventory, the system records it as a movement. Stock can move in, move out, be transferred between locations, or be adjusted. Those four types cover pretty much every scenario you’ll encounter in day-to-day operations.

Speaking of which, let’s talk about what actually triggers those movements, because this is where things get interesting. There are four main actions that drive stock changes in the system. When a customer order is shipped, that’s stock going out — the system records a movement in the outbound direction. When a purchase order is received, that’s stock coming in. If you’re running manufacturing orders, things work in both directions at once: when a manufacturing order is completed, finished goods are recorded as coming in, while the components that were used up are recorded as going out. And finally, you can also make manual inventory adjustments, which can go either in or out depending on what you’re correcting.

So the system is constantly listening to what’s happening across your orders, your purchasing, and your production, and it’s keeping the numbers up to date without you having to enter every single change by hand. That’s a big deal when you’re managing a busy operation.

Now, what happens when stock gets too low? That’s where minimum stock threshold alerts come in. You can set a minimum level for any item, and when your inventory drops below that level, the system flags it. You don’t have to be watching the numbers all day — the system does that watching for you and tells you when it’s time to reorder or replenish.

There’s also inventory valuation to think about. The system supports two common methods for calculating what your stock is worth. The first is FIFO — which stands for first in, first out — meaning the oldest stock is assumed to be sold or used first when calculating cost. The second is average cost, where the system tracks a running average price based on everything you’ve paid for that item over time. Which method you use depends on your accounting preferences, but either way, the system handles the maths for you.

You also have access to physical inventory and stock count features. This lets you periodically verify what the system says you have against what’s actually sitting on the shelf. It’s good practice for catching discrepancies before they grow into bigger problems.

And for businesses that need to track items at a more granular level, there’s batch and lot tracking, as well as serial number tracking. This is useful when you need to know not just that you have fifty units of something, but exactly which batch they came from or which serial number belongs to which item. This matters a great deal for compliance, product recalls, or warranty management.

Finally, it’s worth knowing that Stock and Warehouse Management doesn’t work in isolation. It connects directly to three other areas of the system. Manufacturing Orders feed into it from the production side, as we just covered. Purchase Orders drive your inbound stock. And Shipping Management handles what goes out the door to customers. Changes in any of those three areas ripple through into your inventory automatically.

So to bring it all together — Stock and Warehouse Management gives you a live picture of your inventory, tracks every movement in and out, alerts you before you run dry, values your stock using recognised accounting methods, supports batch and serial tracking, and ties directly into your purchasing, manufacturing, and shipping processes. It’s the backbone of your physical operations.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Supplier Purchase Management

Welcome to the NZRT Wiki Podcast. Today we’re looking at Supplier and Purchase Management.

This is one of those foundational areas of the business that touches almost everything else — from the moment you decide you need something, all the way through to the point where the bill is paid and the goods are on the shelf. In Dolibarr, this whole journey is often called the procure-to-pay cycle, and by the end of this episode you’ll have a clear picture of how it all fits together.

So let’s start at the top. Supplier and Purchase Management is broken down into six sub-modules, and each one handles a distinct stage of the process. The first is Suppliers, Vendors and Contacts — this is your address book for the supply side of the business. Every company or individual you buy from lives here, along with their contact details, payment terms, and any other information you need to manage that relationship.

The second sub-module is Supplier Pricing Requests. Before you commit to buying anything, you often want to know what it’s going to cost. This is where you manage that conversation — sending out requests for quotes, tracking the responses, and comparing what different suppliers are offering. It keeps the negotiation stage organised rather than scattered across your inbox.

Third is Purchase Orders. Once you’ve decided who you’re buying from and at what price, you raise a purchase order to formalise that commitment. The purchase order is your official instruction to the supplier — it says what you want, how many, at what price, and when you need it. It’s also the document that everything downstream gets matched against, so getting it right matters.

Fourth is Delivery and Reception. When your goods actually arrive, this module is where you record that fact. You check what came in against what was ordered, note any discrepancies, and confirm that the delivery is complete. This step is important because it’s the trigger that tells the rest of the system something physical has moved into your possession.

Fifth is Supplier Invoices and Credit Notes. After the goods are received, the supplier sends you an invoice. This module handles matching that invoice to your purchase order and your reception record — a process sometimes called three-way matching. If something was returned or a credit is due, credit notes are managed here too. This is the financial heartbeat of the whole process.

And sixth is Incoterms. These are the internationally recognised trade terms that define who is responsible for shipping, insurance, and risk at each stage of a delivery. If you’re dealing with international suppliers, knowing your Incoterms — things like FOB or CIF — is essential for understanding where your liability begins and the supplier’s ends.

Now, to bring all of that together, think about the procure-to-pay workflow as a straight line with six stops. It starts with your supplier. From there, you raise a pricing request — that’s your request for quotation, or RFQ. Once you’re happy with the pricing, you create a purchase order. When the goods arrive, you process the reception. The supplier then sends their invoice, which you match and approve. And finally, payment goes out.

So the sequence looks like this: supplier, then pricing request, then purchase order, then reception, then invoice, then payment. Each step feeds the next, and each one leaves a record in the system so you can trace exactly where any transaction is at any point in time.

It’s also worth knowing how Supplier and Purchase Management connects to the rest of Dolibarr. When you receive goods against a purchase order, that receipt automatically increases your stock levels in the Stock module. So your inventory is always reflecting what’s physically come through the door. On the finance side, this module feeds directly into Accounts Payable management — meaning your finance team has a live view of what you owe to suppliers and when payments are due.

Taken together, these six sub-modules give you end-to-end visibility and control over your supply chain. You know what you’ve asked for, what you’ve agreed to pay, what’s arrived, what’s been invoiced, and what’s been paid. Nothing falls through the cracks, and there’s a clear audit trail at every stage.

Whether you’re a small operation buying a handful of products from a couple of local suppliers, or you’re managing complex international procurement with multiple vendors and varying delivery terms, this module structure scales with you.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

WordPress Integration

Welcome to the NZRT Wiki Podcast. Today we’re looking at WordPress Integration.

This episode covers how WordPress and Dolibarr connect inside the NZRT setup, so if you work with either of those systems — or you’re just curious about how the pieces fit together — stick around.

First, a bit of context. NZRT runs two WordPress sites. One is the ICS site — that stands for Internet Consulting Services — and this is the site that actually integrates with Dolibarr. Through that integration, products, clients, and orders managed in Dolibarr can surface on the ICS site. The second site is the NCS site, which handles NZRT Charitable Services, and that one sits completely separately — it doesn’t talk to Dolibarr at all.

So how does the integration actually work? There are two main methods.

The first and primary method is what’s called the Agent REST API approach. AI agents call both the Dolibarr REST API and the WordPress REST API independently, using a set of tools provided by the NZRT MCP server. Think of it as an orchestration layer — Claude or the run-dot-py agents sit in the middle and coordinate cross-system operations. For example, if you need to sync a product from Dolibarr and publish it to WordPress, an agent can handle each side of that through dedicated tools. On the Dolibarr side you have tools for getting and creating products, and on the WordPress side you have tools for creating and updating posts. The Operating Model documentation goes deeper on the MCP server setup if you want to follow up.

The second method is an Obsidian-to-WordPress publishing flow. Vault notes written in Obsidian can be published directly to the ICS WordPress site using the obsidian-wordpress plugin. Simple and straightforward.

Now let’s look at something a bit more technical — the Bridge Plugin and Webhook Trigger setup. This is used specifically for NZRT intake forms, and it enables a direct connection from WordPress straight into Dolibarr. Here’s how that flow works when someone submits a form on the WordPress side.

The form submission triggers an AJAX call that passes through WordPress’s admin handler. That kicks off a function inside a custom plugin called the nzrt-dolibarr-bridge. That function then makes a request to Dolibarr’s REST API, targeting the thirdparties endpoint and passing the API key as a header. Dolibarr receives that, creates the thirdparty record, and internally fires what’s called a company-create action. Now, on the Dolibarr side, there’s a second custom file called the nzrt webhook trigger, sitting inside Dolibarr’s custom triggers folder. It checks whether the company-create action appears in a global setting called WEBHOOK_EVENTS. If it does, it fires off a signed JSON payload to a configured webhook URL, attaching two custom headers — one containing an HMAC-SHA256 signature and one identifying the event type. That signature is what lets the receiving end verify the request is genuine.

Two files make all of this work. The bridge plugin file lives in the 000WOR repository and is deployed to WordPress as a plugin. The webhook trigger file lives in the 000DOL repository and is deployed inside Dolibarr’s custom triggers folder.

To get this running, you also need three configuration constants set up inside Dolibarr — you’ll find these under Setup, then Other, then Constants. There are three of them to know about. The first is WEBHOOK_URL, which is the endpoint Dolibarr will post the event payload to. The second is WEBHOOK_SECRET, which is the signing key used to generate that HMAC-SHA256 signature on outgoing payloads. The third is WEBHOOK_EVENTS, which is a comma-separated list of the action codes you want to trigger webhooks — so for example, you might include both company-create and company-modify if you want events fired for both scenarios.

If you need to set any of this up from scratch, there’s a separate NZRT Integrations document that walks through the deployment steps in detail. And if you’re looking at the broader picture — like what modules are available or how WordPress service codes fit into the NZRT taxonomy — check out the Module List and NZRT WordPress Service Codes docs linked from the related section of this wiki page.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Ticket Categories Types

Welcome to the NZRT Wiki Podcast. Today we’re looking at Ticket Categories & Types.

If you’ve ever wondered how the eight NZRT virtual agents know what to do and when to do it, the answer is Dolibarr tickets. Dolibarr is the ERP platform NZRT uses as its primary work-assignment layer, and every agent task — whether that’s posting to the forum, writing a blog summary, handling a charitable services intake, or running a system operation — flows through a Dolibarr ticket. Nothing gets actioned without one.

So let’s break down how those tickets are structured, starting with type codes.

A type code tells you the nature of the work being requested. There are five of them. The first is called FORUM POST, and it means the assigned agent needs to post a discussion or comment to the Flarum community forum. The second is WIKI BLOG, which is specifically for PAM — the Products and Marketing agent — to write a plain-English summary post to the WordPress agent blog. Think of it as turning internal wiki content into something readable for a wider audience.

The third type code is NCS, which stands for NZRT Charitable Services. This one covers beneficiary intake, follow-up, and service delivery for the charitable arm of the organisation. Fourth is ICS INTAKE, which handles client intake for Internet Consulting Services. And fifth is simply GENERAL — a catch-all for system operations, one-off jobs, and anything that doesn’t fit neatly into the other four categories.

Now let’s talk about how tickets get routed to the right agent. Each of the eight virtual agents has a named category in Dolibarr, and when a ticket is created, it gets assigned to the correct agent using their Dolibarr user ID. There are eight agents in total. CAS handles Customer and Sales, and has user ID four. DAI covers Data and Analytics, user ID nine. DAN looks after Database and Systems, user ID ten. EMA handles EDM — electronic direct mail — user ID eight. FIN is Finance, user ID six. HAN covers Human Resources, user ID seven. PAM is Products and Marketing, user ID three. And SUN handles Supplier and Purchasing, user ID five.

So when you see a ticket assigned to user ID three, you know that’s PAM’s work. When you see user ID ten, that’s DAN. The category label on the ticket — for example, PAM — Products and Marketing — reinforces the routing alongside that numeric assignment.

There’s also a special category of tickets used for TOGAF ADM work. TOGAF is the architecture framework NZRT uses for enterprise planning, and it runs through a series of phases. For each phase, there are eight specialist ticket categories — one per agent domain — matching the scope of that phase. So if you’re in a migration planning phase, each agent gets a ticket relevant to their domain within that phase. These tickets are created automatically by a script called create togaf phase tickets dot py, so you don’t need to worry about building them by hand.

Speaking of scripts — and this is important — tickets at NZRT are never created manually. They’re always created by Claude or by automation scripts. Specifically, the create-ticket scripts live in the zero zero zero AGT repository. There’s a different script for each work type: one for CLA session traceability, one for WordPress posts, one for forum posts, one for wiki-to-blog summaries, and so on. You match the script to the work type.

One more thing worth knowing about credentials: when tickets need to be created across multiple agents — say, spinning up eight TOGAF tickets at once — the xc admin API key must be used. If you use an individual agent’s API key instead, that agent will only be able to see the tickets assigned to them. So for cross-agent creation, admin key only.

Finally, there are ticket tags. These are a secondary grouping layer in Dolibarr, separate from the project categories. You’ll see tags like NCS for charitable services work, wiki-summary for blog conversion tasks, and togaf for architecture phase work. There are also system tags — things like win for Windows operations, git for GitHub work, llm for language model tasks, wor for WordPress, dol for Dolibarr, ncl for Nextcloud, fla for Flarum, and cpl for cPanel. These tags let you filter and group tickets by system or topic without relying solely on the agent assignment or type code.

So to summarise what you’ve just heard: every agent task starts as a Dolibarr ticket. The type code tells you what kind of work it is. The agent category and user ID tell you who does it. TOGAF phases get their own specialist tickets generated automatically. Scripts do the creating — never manual entry. And tags give you a flexible secondary layer for grouping by system or topic.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Ticket System Help Desk

Welcome to the NZRT Wiki Podcast. Today we’re looking at Ticket System (Help Desk).

If you’ve ever wondered how NZRT keeps track of customer support requests, agent tasks, and everything in between, the answer is the Dolibarr ticket system. It’s a centralised help desk that combines support ticketing, a knowledge base, SLA tracking, and email integration all in one place. Let’s walk through how it all works.

First, let’s talk about the lifecycle of a ticket. When a ticket is first created, it starts in a New state. From there, it gets Assigned to someone — or in NZRT’s case, to one of the virtual agents. Once work begins, the ticket moves to In Progress. If the agent or system is waiting on a response from a customer or another party, the ticket shifts to a Pending Customer state. When the issue is sorted, it gets marked as Resolved, and once everything is confirmed and wrapped up, it closes out completely. So you’ve got six clear stages: New, Assigned, In Progress, Pending Customer, Resolved, and Closed — and every ticket flows through that chain.

Now, when it comes to key features, there are four main things you’ll want to know about. The first is priority levels. Every ticket you create gets assigned one of four priority levels — low, normal, high, or urgent — so whoever is handling it knows exactly how quickly they need to act. Second is email-to-ticket functionality. Through something called the Email Collector, incoming emails can automatically generate tickets in the system. That means if a customer sends a message to a support address, a ticket gets created without anyone needing to do it manually. Third is the knowledge base. The ticket system ties into a library of articles that can help resolve common issues — useful both for agents handling tickets and for customers looking for self-service answers. And fourth is SLA tracking. SLA stands for Service Level Agreement, and the system monitors both response time and resolution time to make sure tickets are being handled within agreed timeframes.

Now let’s look at how NZRT actually uses this system, because it goes a bit deeper than a typical help desk setup. At NZRT, the ticket system is the primary way work gets assigned to all eight virtual agents. When Claude — the AI coordinating the operation — needs to assign a task, it creates a ticket through the Dolibarr REST API using a set of Python scripts. There are different versions of these scripts depending on the type of work being assigned.

Each ticket carries a type code that tells the system what kind of work it involves. For example, there are type codes for forum posts, wiki-to-blog summaries, charitable services work, consulting intake tasks, and general work items. Alongside that type code, each ticket specifies which agent it’s assigned to using an assignment field that links directly to the agent’s user account in the system. Tickets can also be linked to specific Dolibarr projects, which keeps everything organised by initiative or deliverable.

Once a ticket is created and assigned, the relevant agent reads it, carries out the work, and then closes the ticket programmatically — meaning the whole loop from creation to completion can happen without any manual intervention.

One important detail about permissions: the API key used to create tickets matters a lot. Standard agent API keys will only return tickets that are assigned to that particular agent. If you need to create tickets on behalf of multiple agents — or view tickets across the whole system — you need to use the cross-agent admin API key. That key belongs to the xc admin account, and it’s what Claude uses when coordinating work across all eight agents.

The ticket system also connects to two other areas worth being aware of. One is Interventions, which is how manual or escalated actions get recorded in Dolibarr. The other is the Email Collector, which handles inbound email routing and turns those emails into tickets automatically.

So to bring it all together — the ticket system at NZRT isn’t just a customer support queue. It’s the backbone of how work gets distributed, tracked, and completed across the entire virtual agent team. Every task has a ticket, every ticket has an owner, and every owner has a clear status to move through until the work is done.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.

Users Groups

Welcome to the NZRT Wiki Podcast. Today we’re looking at Users & Groups.

In Dolibarr, the system NZRT uses to manage projects, invoices, and everything in between, user accounts are tied to fine-grained permissions. That means each user or agent only gets access to the specific modules and actions they actually need. NZRT takes this seriously — there are no shared accounts. Every agent has their own dedicated login.

When we say agents here, we mean NZRT’s virtual AI agent accounts. These are real Dolibarr user accounts, one per agent, set up so that each AI can interact with the system in a controlled and traceable way. They authenticate using individual API keys rather than a traditional username and password flow. The passwords do exist, but they’re randomly generated and stored securely in the Nextcloud shared credentials folder — not something you’d ever type in manually.

Let’s walk through the agent roster. There are nine accounts in total, and the table in the wiki gives you the agent code, their Dolibarr user ID, their login handle, display name, email address, the modules they can access, and their current status.

First up is xc, the admin account, with a Dolibarr ID of 2. This account displays as XC Admin and uses the admin email address. XC has access to all modules — it’s the top-level account.

Next is cas, ID 4, the Sales agent. CAS has access to Thirdparties, Proposals, and Orders — covering the client-facing sales pipeline.

Then there’s dai, ID 9, the Data agent. DAI has read access to exports plus access to accounting results. It’s a deliberately limited account — read-only on the export side.

DAN is ID 10, the DBA agent. Interestingly, DAN has no Dolibarr module permissions at all — DAN operates exclusively through Nextcloud. So this account exists in the system but is intentionally restricted on the Dolibarr side.

EMA is ID 8, the document and email management agent. EMA has access to ECM, which is the electronic content management module, plus Mass Emailing and Export.

FIN is ID 6, the Finance agent. FIN covers Invoices, Bank, and Accounting — the core financial stack.

HAN is ID 7, the HR agent. HAN covers the HRM module, Leave, and Expenses — everything to do with people management.

PAM is ID 3, the Products agent. PAM handles Products, Stock, and Manufacturing — the inventory and production side of the business.

Finally, SUN is ID 5, the Purchasing agent. SUN covers Suppliers, Purchase Orders, and Delivery.

So that’s nine accounts in total: xc, cas, dai, dan, ema, fin, han, pam, and sun.

All of these accounts were provisioned on the twenty-first of April 2026 using a script called create agents, which ran directly against the database. Then two days later, on the twenty-third of April, module permissions were applied using a script called set dolibarr permissions. That run set 58 individual permissions across seven of the agents — all done in a single automated pass.

On the topic of permissions, the wiki notes there are four levels to understand: Read, Write, Delete, and Admin. These are the four tiers that Dolibarr uses to control what any given user can actually do within each module. So an agent might have read access to a module but not write access — or write access but not the ability to delete records or change admin-level settings. The detail of exactly which agents hold which permission levels is covered in a separate Security and Permissions article, which is worth reading alongside this one.

One last thing worth noting is the API access model. When NZRT’s AI agents actually call Dolibarr to do work — creating tickets, updating projects, fetching data — they use the REST API directly, and each agent has its own API key configured for that purpose. The keys are set up separately from the account provisioning step, as part of the process of wiring each AI agent into the live system.

If you want to dig deeper, the related articles to check out are Security and Permissions for the full permission breakdown, and the Agent Account Setup guide for the step-by-step provisioning process. There’s also an Employees article if you’re looking at human user accounts rather than the virtual agent accounts covered here.

That’s it for this episode of the NZRT Wiki Podcast. Thanks for listening.