[{"data":1,"prerenderedAt":328},["ShallowReactive",2],{"/blog/project-tracking":3},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"date":316,"description":317,"extension":318,"image":319,"meta":320,"navigation":321,"path":322,"seo":323,"stem":326,"__hash__":327},"posts/3.blog/13.project-tracking.md","A Project Isn't Done When You Deliver. It's Done When the Numbers Close.",[7],{"name":8,"to":9,"avatar":10},"Mohammad Sulthan","https://x.com/coderrlab",{"src":11},"https://avatars.githubusercontent.com/u/37440405?v=4&size=800",{"label":13},"Projects",{"type":15,"value":16,"toc":303},"minimark",[17,21,24,29,32,61,64,68,75,101,104,108,111,120,124,130,144,147,151,154,184,187,191,194,197,201,204,207,213,219,225,231,235,238,241,253,256,259,263,266,269,289,297,300],[18,19,20],"p",{},"You finish a project. The client is happy, the deliverables are sent, and you mentally move on to the next thing. Meanwhile, the final invoice sits at \"sent but unpaid,\" two contractor expenses haven't been logged, and the project in your records still shows as \"in progress.\"",[18,22,23],{},"A month later, you couldn't tell someone what that project actually cost or returned. Not because the information doesn't exist because nobody recorded it at the right time.",[25,26,28],"h2",{"id":27},"why-per-project-tracking-is-worth-the-effort","Why per-project tracking is worth the effort",[18,30,31],{},"Project-level data answers questions you can't answer from a general income view:",[33,34,35,43,49,55],"ul",{},[36,37,38,42],"li",{},[39,40,41],"strong",{},"Was this project worth taking?"," After costs, how much did it actually net?",[36,44,45,48],{},[39,46,47],{},"Did scope creep hurt the margin?"," Compare planned vs. actual scope and billing",[36,50,51,54],{},[39,52,53],{},"Which project types should you prioritize?"," A quick logo job might net more per hour than a three-month retainer once time is counted",[36,56,57,60],{},[39,58,59],{},"Was this client profitable?"," The project is where client economics get resolved",[18,62,63],{},"Without per-project records, you're making future pricing and business decisions based on gut feel rather than data.",[25,65,67],{"id":66},"how-to-set-up-a-project-before-it-starts","How to set up a project before it starts",[18,69,70,71,74],{},"Create the project in ",[39,72,73],{},"Projects → New Project"," before any work begins. Set:",[33,76,77,83,89,95],{},[36,78,79,82],{},[39,80,81],{},"Client:"," links all project transactions to the right client automatically",[36,84,85,88],{},[39,86,87],{},"Status:"," start with Active",[36,90,91,94],{},[39,92,93],{},"Budget"," (optional but useful) — the contracted value, so you can track what you're working toward",[36,96,97,100],{},[39,98,99],{},"Notes:"," anything relevant to the engagement: rate, scope, start/end dates",[18,102,103],{},"This takes three minutes. Every transaction you tag to this project from that point forward feeds the project's profitability view.",[25,105,107],{"id":106},"tagging-transactions-to-projects","Tagging transactions to projects",[18,109,110],{},"When you record or import a transaction — an Upwork payment, a contractor invoice, a software cost for the project — tag it to the relevant project in the transaction form. One extra field, but it's where the per-project numbers come from.",[18,112,113,114,119],{},"For contractor costs specifically: if you paid a subcontractor $500 to handle part of a project, that $500 needs to live in the project's expense column, not just in your general expenses. Without that tag, the project looks more profitable than it was. For a complete guide to keeping transaction tags consistent, see ",[115,116,118],"a",{"href":117},"/blog/transaction-categorization","freelance transaction categorization: a practical guide",".",[25,121,123],{"id":122},"what-the-project-profitability-view-shows","What the project profitability view shows",[18,125,126,127,129],{},"Open a project in ",[39,128,13],{}," and you see:",[33,131,132,135,138,141],{},[36,133,134],{},"Total income from transactions tagged to this project",[36,136,137],{},"Total expenses tagged to this project",[36,139,140],{},"Net margin: income minus expenses",[36,142,143],{},"Transaction list so you can verify each line",[18,145,146],{},"This is the closed-loop view. Income from the client, costs of delivery, and what's left.",[25,148,150],{"id":149},"the-project-close-checklist","The project close checklist",[18,152,153],{},"Before marking a project complete, run through four things:",[155,156,157,163,169,175],"ol",{},[36,158,159,162],{},[39,160,161],{},"All income recorded?:"," Is the final invoice paid and logged? Any milestone payments that came in earlier?",[36,164,165,168],{},[39,166,167],{},"All expenses tagged?:"," Contractor costs, any project-specific software, any other direct expenses?",[36,170,171,174],{},[39,172,173],{},"Invoice status correct?:"," Mark paid invoices as paid. Don't leave invoices sitting in \"sent\" once payment clears.",[36,176,177,180,181,183],{},[39,178,179],{},"Status updated?:"," Change the project to Complete in ",[39,182,13],{},". This keeps your active list clean and lets you filter closed projects separately when reviewing history.",[18,185,186],{},"After you close it, the project's numbers are locked in as a record you can reference when quoting similar work next year.",[25,188,190],{"id":189},"using-closed-projects-to-price-better","Using closed projects to price better",[18,192,193],{},"After six months of properly closed projects, you have actual data on what different types of work return. Pull up your completed projects filtered by type or client. Sort by margin.",[18,195,196],{},"The projects with the best margins are the ones to take more of. The ones with compressed margins — often due to scope creep, untagged costs, or low initial pricing — show you where to adjust your rate or scope language next time.",[25,198,200],{"id":199},"how-to-track-multi-phase-and-milestone-based-freelance-projects","How to Track Multi-Phase and Milestone-Based Freelance Projects",[18,202,203],{},"Most project management advice assumes a single payment at the end. Many freelance projects don't work that way — they have deposits, milestone payments, and final invoices that arrive at different stages, sometimes across different months.",[18,205,206],{},"The bookkeeping challenge: your project's income records need to match what actually happened, not what was originally quoted.",[18,208,209,212],{},[39,210,211],{},"Deposits:"," Record the deposit as income when received, tagged to the project. Don't wait until the project is complete — the money is real income when you receive it, regardless of project status.",[18,214,215,218],{},[39,216,217],{},"Milestone payments:"," Each milestone payment is a separate income transaction tagged to the same project. When you open the project's total income view, you see all milestones accumulated, which tells you exactly how much of the contracted amount you've collected and what's still outstanding.",[18,220,221,224],{},[39,222,223],{},"Adjusted payments:"," If a client reduces a milestone payment due to scope changes or disputes, record the amount actually paid, not the original quote. Add a note explaining the deviation. This keeps your income figures accurate and gives you documentation if the dispute resurfaces.",[18,226,227,230],{},[39,228,229],{},"Multi-phase scope expansions:"," If a project that started as a logo design grows into a full brand identity system, create a second phase, either as a new project linked to the same client, or as a budget extension in the existing project record. Don't absorb expanded scope silently into the original project budget, or the margin data on that project becomes meaningless for future pricing.",[25,232,234],{"id":233},"what-to-do-financially-when-a-freelance-project-goes-over-budget","What to Do Financially When a Freelance Project Goes Over Budget",[18,236,237],{},"Over-budget projects are where project tracking earns its value. Without records, you can't tell whether you over-ran on contractor costs, your own time, or unexpected scope, and you can't make better decisions next time.",[18,239,240],{},"The first question: is the over-run billable?",[18,242,243,244,248,249,252],{},"If scope expanded with explicit client approval, invoice for the additions. Add a line item to the next invoice: \"Additional scope – ",[245,246,247],"span",{},"description"," – ",[245,250,251],{},"amount",".\" This is professionally appropriate as long as the expansion was agreed.",[18,254,255],{},"If scope expanded without explicit agreement, you have a harder situation. You can bill for it and risk a pushback, or absorb it and note the cost in the project record as a lesson for future scoping. The data in FreelancerrFlow's project view shows exactly how much the over-run cost, which helps you make the call with clear numbers rather than a feeling.",[18,257,258],{},"The long-term fix is scope language. After a project with significant over-runs, review what wasn't covered in your original scope definition. Update your contract language or proposal template to make those items explicit next time, either clearly in-scope or explicitly out-of-scope at a change order rate.",[25,260,262],{"id":261},"using-freelance-project-history-to-build-better-scope-estimates","Using Freelance Project History to Build Better Scope Estimates",[18,264,265],{},"A scope estimate is a prediction. Like all predictions, it gets better with data. After 12–18 months of properly closed projects, your predictions should be meaningfully more accurate than when you started.",[18,267,268],{},"The data points most useful for estimation:",[33,270,271,277,283],{},[36,272,273,276],{},[39,274,275],{},"Time to completion vs. quoted timeline."," Projects that consistently run 20–30% over expected timeline are systematically underestimated. This might be a scoping problem, a specific client relationship issue, or a particular type of work that always takes longer than it looks.",[36,278,279,282],{},[39,280,281],{},"Final contractor costs vs. projected."," If contractor costs regularly exceed estimates, you're either underestimating the subwork required or paying more per hour than budgeted.",[36,284,285,288],{},[39,286,287],{},"Revision round frequency."," If your illustration projects average four revision rounds but you're scoping for two, you're systematically undercharging on that project type.",[18,290,291,292,296],{},"In FreelancerrFlow, filter completed projects by type and sort by net margin. The pattern that emerges is your personal pricing data — more specific and more relevant than anything in an industry rate survey. Once you have a few closed projects, ",[115,293,295],{"href":294},"/blog/project-pricing-data","using that data to price future work"," is the natural next step.",[298,299],"hr",{},[18,301,302],{},"Most of the effort in project tracking is front-loaded: set it up before the project starts, tag transactions as they come in, close it when the work ends. The ongoing overhead is close to zero once the habit is there.",{"title":304,"searchDepth":305,"depth":305,"links":306},"",2,[307,308,309,310,311,312,313,314,315],{"id":27,"depth":305,"text":28},{"id":66,"depth":305,"text":67},{"id":106,"depth":305,"text":107},{"id":122,"depth":305,"text":123},{"id":149,"depth":305,"text":150},{"id":189,"depth":305,"text":190},{"id":199,"depth":305,"text":200},{"id":233,"depth":305,"text":234},{"id":261,"depth":305,"text":262},"2026-04-23","Most freelancers end a project when the work ships. The financial side stays open for weeks — invoices outstanding, expenses untagged, actual hours unrecorded. Here's how to close a project properly.","md",null,{},true,"/blog/project-tracking",{"title":324,"description":325},"How to Track and Close a Freelance Project Financially","Most freelancers ship work but leave expenses untagged and invoices open. Here's the 4-step financial close that locks in accurate freelance project profit data.","3.blog/13.project-tracking","JmeiWgeMWDakzCNtK956pnQCwg1-IBlxdwSEbPLxyVE",1776583350279]