Costs
Add, price, mark up, and manage Costs inside a Job. Costs cover everything the agency buys in, from print and promo to outsourced copywriting and media spend.
A Cost is anything the agency buys in rather than produces with its own hours. Print, promo items, stock imagery, hosting, a photographer's day rate, outsourced copywriting, legal fees, media placement.
Where a Task is priced from your own rates and consumes time, a Cost is priced from what a Supplier charges you and consumes money. Because Agencydesk was built exclusively for agencies, both sit in the same Job Costing, quote on the same Cost Estimate, and bill on the same Invoice, with the buy side and the sell side tracked separately throughout.
Where Costs live
Costs appear in two places inside a Job:
Job Costing tab — every Cost on the Job, including Draft Costs. This is where Costs are added and priced.
Costs tab — only Costs that have been activated. This is the procurement view, where Purchase Orders get raised and supplier commitments are tracked.
The Cost Type sets the defaults
Every Cost starts from a Cost Type on your Rate Card. The Cost Type is the template, and it carries:
The default Supplier
The Cost Currency, inherited from that Supplier
The Pricing Structure, Per Unit or Per Hour
The Cost Price
The Markup Method and markup amount
Whether it is Billable
The Default Description
The Department it belongs to
Adding a Cost
Costs live inside Groups, the same as Tasks.
On the Job Costing tab, click + Add Cost at the bottom of the Group. The Cost Detail slider opens.
Select a Cost Type. This pulls in the pricing structure, cost price, markup method, department, and default description.
Select the Supplier, or leave the one the Cost Type brought with it.
Add a Cost Name if the Cost Type needs more context. This is optional, and works the same way a Task Name does.
Set Billable on or off, and edit the Description. The description appears on Estimates and Invoices, so write it for the client as well as the team.
Attach anything relevant with + Add a Document, then click Add Cost. The Cost lands in the Group as a Draft.
The Costs tab
Once a Cost is activated it appears on the Costs tab.
Across the top sit a Completed counter, an Expand / Collapse control that shows or hides the description on every line, and Search.
Costs are listed inside their Groups, with these columns:
Group and Cost
The Group heading, then each Cost beneath it
Qty
The number of units, or hours where the pricing structure is Per Hour
Unit Price
The resell price per unit, cost plus markup. Shown with /hr where the Cost is priced Per Hour
Markup
The markup amount on that Cost
Total
Qty × Unit Price
Total Incl. Tax
The same total with the Client's tax rate applied
Where a Purchase Order has been raised against a Cost, its PO number shows beneath the Cost name with a small delivery icon, for example PO18.
The Cost slider
Click a Cost to open its slider. The header carries the Cost name with a link icon for copying a direct link, the Job reference beneath, a complete control, a pencil to edit, and a ... menu.
The top of the slider summarises the Cost:
Supplier
Who you are buying from
Supplier Currency
The currency that Supplier charges in
Billable
Yes or No
Pricing Structure
Per Unit or Rate Per Hour
Markup Method
Percentage or Per Unit
Description
What the Cost covers
Reading the Cost Detail box
Beneath that, the grey Cost Detail box carries the numbers:
Units — how many.
Unit cost — what the Supplier charges you per unit.
Unit Markup — the uplift, shown as an amount or a percentage depending on the markup method.
Unit Price — what the client pays per unit, cost plus markup.
Total — Units × Unit Price.
Total Incl Tax — the total with the Client's tax rate applied.
The buy side and the sell side sit on the same row, so the margin on any line is visible without opening a spreadsheet.
Currency conversion
A Cost is charged to you in the Supplier's currency and billed to the client in the Job's currency. When those differ, Agencydesk converts the Unit cost and tells you it has done so with a line directly beneath the Cost Detail box:
Supplier costs have been converted from USD to ZAR.
So a Job running in ZAR for a South African client, with hosting bought from a Supplier who invoices in USD, shows the Unit cost already converted into ZAR. The conversion note is always there when a conversion has happened, so a figure is never quietly in the wrong currency.
Markup and Margin
Where the markup method is Percentage, a Markup / Margin toggle appears at the top right of the Cost Detail box. It changes how the uplift is expressed, and the formula is printed beneath the box so there is no ambiguity about which one you are reading.
Markup — the column reads Unit Markup, and
Markup % = (price − cost) / costMargin — the column reads Unit Margin, and
Margin % = (price − cost) / price
Where the markup method is Per Unit, the uplift is a fixed amount in the Job's currency rather than a percentage, so no toggle appears.
Pricing structures
A Cost Type is set to one of two pricing structures, configured under Settings > Rate Card > Cost Types.
Per Unit — priced per item.
Per Hour — priced per hour.
Mechanically the two behave the same way, because an hour is just a unit. The difference is presentation. A Cost priced Per Hour displays its unit price with /hr on Estimates and Invoices, so outsourced copywriting quoted at $75 an hour reads as $75.00/hr rather than a bare $75.00.
Markup methods
Also set on the Cost Type:
Percentage — the uplift is a percentage of the cost price. Scales automatically as the cost moves.
Per Unit — the uplift is a fixed amount per unit, in the same currency.
Percentage suits categories where supplier pricing varies, since the margin holds regardless of the quote. A fixed amount suits a standard handling fee that should not balloon on a large purchase.
Editing a Cost
A Draft Cost can be edited freely. Open it and click the pencil.
In edit mode you can change the Supplier, Cost Name, Billable state, Description, and every figure in the Cost Detail box: Units, Unit cost, Unit Markup, and Unit Price. Cost Type and Markup Method are fixed, since they come from the Rate Card.
Click Update Cost to save.
The activation lock
An active Cost cannot be edited. To change one, deactivate it back to Draft on the Job Costing first, make the change, then reactivate it.
Two things can block that deactivation, and they stack:
A Purchase Order exists against the Cost. A Cost with a PO cannot be deactivated, so it cannot be edited. Delete the PO first, marking it unpaid if it has been paid.
The Cost has been invoiced. An invoiced Cost cannot be deactivated at all, so it cannot be edited. The Invoice would have to be voided or deleted first.
So the full unwind on a Cost that has gone all the way through looks like this:
Void the issued Invoice, or delete it if it is still a draft.
Mark the Purchase Order unpaid, then delete it.
Deactivate the Cost on the Job Costing.
Edit the Cost, then reactivate it.
Documents
Attach files to a Cost with + Add a Document, or drag them into the drop area. Each file shows its name, the date and time it was added, and its size, with icons to delete, preview, or download it.
They also collect on the Job's Central tab, grouped under the Cost name.
Three ways agencies use Costs
The same Cost record does three different jobs depending on how you set Billable and Markup. Deciding which one you are creating is usually the whole conversation.
Absorbed expenses
No markup, not billable.
The agency carries the cost. It is recorded against the Job so it shows in profitability, but the client never sees it and is never charged for it.
This is stock imagery you bought for a pitch, a courier you are not going to invoice for, a subscription consumed on the work, or a supplier bill you have decided to eat to keep a relationship steady.
Billed expenses
No markup, billable.
The cost is passed to the client at exactly what you paid. You handle the buying, the client carries the expense, and the agency takes nothing on it.
This is the pass-through category: ad spend and media buys billed at net, a domain or hosting renewal recharged as-is, travel and accommodation on a shoot, a venue deposit. Common on retainers where the client wants the agency to transact on their behalf without a handling fee on top.
Procurement and resell
Marked up, billable.
The agency buys something in, adds a margin, and sells it on as part of the deliverable. This is where Costs become a revenue line rather than an administrative one.
It covers physical goods and bought-in services equally:
Production and print — brochures, packaging, large-format signage, point-of-sale, vehicle branding.
Promotional items — branded merchandise, event giveaways, corporate gifting.
Creative services bought in — photography and video production, illustration, voiceover, translation, animation.
Specialist services — outsourced copywriting, freelance development, legal and compliance review, market research.
Digital goods — stock imagery, licensed fonts, plugins and licences, hosting.
The markup is not arbitrary. It pays for sourcing the supplier, briefing them, checking the work before it reaches the client, chasing it when it runs late, and carrying the cash-flow risk of paying the supplier before the client pays you. An agency that sources and quality-controls a print run is doing real work whether or not a timesheet records it, and the markup is how that work gets paid for.
Marking a Cost non-billable is not the same as setting its markup to zero. A zero-markup billable Cost still appears on the Estimate and Invoice at cost. A non-billable Cost never reaches a client document at all.
Was this helpful?

