Skip to main content
Glama

create_estimate

Generate client estimates in FreshBooks using invoice-style line items to outline project costs and scope before billing.

Instructions

Create an estimate. Lines format same as invoices.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
customer_idYes
linesYes
currency_codeNoUSD
notesNo

Implementation Reference

  • The create_estimate tool handler implementation in server.py, which uses the MCP tool decorator and calls the client's accounting_create method.
    @mcp.tool()
    @_handle_errors
    async def create_estimate(
        customer_id: int,
        lines: list[dict],
        currency_code: str = "USD",
        notes: str = "",
    ) -> str:
        """Create an estimate. Lines format same as invoices."""
        data = {
            "customerid": customer_id,
            "create_date": _today(),
            "currency_code": currency_code,
            "lines": lines,
        }
        if notes:
            data["notes"] = notes
        result = await client.accounting_create("estimates/estimates", "estimate", data)
        est = result.get("estimate", result)
        return f"Estimate #{est.get('estimate_number', '?')} created (ID: {est.get('id')})"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlexlaGuardia/MCP-Freshbooks'

If you have feedback or need assistance with the MCP directory API, please join our Discord server