> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Project-based revenue

> Learn how to set up project-based revenue

Learn how to set up project-based revenue

If you use NetSuite for managing projects, the invoice sync can also support project-based revenue recognition for invoice charges that should be recognized based on a project delivery instead of time-of-sale or standard subscription schedules. This is common for items such as implementation services.

To set up project-based revenue, complete these steps.

Create a project in NetSuite.

Copy the NetSuite project’s internal ID to the Zuora subscription’s **NetSuite Project ID**.

On the Zuora product rate plan charge, set the **NetSuite Revenue Recognition Template Type** to **Variable**.

When the invoice is synced, any variable template type charges will be mapped with a reference to the project specified on the Zuora subscription. Template type charges of type **Standard** will be synced without the project reference.

Manage the project and track time manually in NetSuite to recognize the revenue.

See [Delayed Revenue Recognition Logic](/docs/platform/integration/integration-hub/advanced-connectors/billing-connector-for-netsuite-gl/integration-between-zuora-and-netsuite/invoice-transaction-sync/project-based-revenue) for mapping details.