Agency Branded Reports

Última atualização: 27 de outubro de 2026

Overview

Agency Reports turn the financial and operating data for one or more client shops into a client-facing web report and PDF. You can add your agency logo and accent color, choose the metrics and sections, create a secure share link, send the report by email, or generate a new report automatically each week, month, or quarter.

The report uses Dashboardly's canonical financial metrics—the same formulas used by the main P&L and Dashboard for the same shops, dates, timezone, and reporting basis. Dashboardly does not maintain a separate set of “agency report” profit formulas.

Create a Report

Open Agency > Reports, then select Create branded report.

  1. Choose the client, shops, report type, period, comparison, and report timezone.
  2. Choose the KPI tiles and report sections. Required sections for the selected report type stay enabled.
  3. Add or replace your agency logo, choose an accent tone, and write any cover note, findings, next steps, or scope notes.
  4. Choose one or more delivery channels: PDF, secure web link, or email.
  5. Generate the report immediately, or choose Weekly, Monthly, or Quarterly and set the first run date.

The Last 7 days, Last 30 days, and Last 90 days presets include today and contain exactly 7, 30, or 90 calendar days in the report timezone. Scheduled reports use the last fully closed calendar week, month, or quarter and create a separate occurrence for every run.

For a specific period, choose Custom range, open Select date range, click the first and last day, then select Apply. The Starting and Ending fields show your pending selection before you apply it. For example, to cover 14–21 September 2026, select 14 September followed by 21 September. The report uses both selected calendar dates in its chosen timezone.

Report copy is currently generated in English. Money remains in each shop's native currency; Agency Reports do not perform foreign-exchange conversion.

Saving a draft does not email or share the report. It does preserve the selected period and report configuration so you can finish it later.

Monthly, Weekly, and Custom reports include the executive summary and sales chart when those section settings are omitted. Explicitly saved section choices are preserved; Verification reports keep their separate section selection.

Reporting Timezone and Date Basis

The report preview, shared web report, and newly generated PDF show Reporting timezone, Timezone setting, and Date basis in Report Scope. These fields remain visible when the optional detailed Scope section is disabled.

The timezone is the one used to query the report, not your browser timezone or the PDF creation timezone. Configured identifies a valid saved timezone. Default UTC means none was set; Invalid setting; UTC fallback means an invalid saved value fell back to UTC. Older responses without this context show Unavailable rather than guessing.

Agency Reports use Order date as their date basis. Match that basis and the displayed timezone when comparing the report with a P&L. The separate PDF snapshot timestamp records when the PDF snapshot was generated; it does not define which orders belong to the report period.

Branding and Logo Safety

Your agency logo appears on the report cover, public web report, and generated PDF. Upload a PNG or JPEG no larger than 2 MB. Dashboardly verifies the file type, fully decodes the image with a pixel-safety limit, strips embedded metadata, and stores a normalized raster no larger than 800 × 800 pixels; SVG files are not accepted.

Cover label is custom text, separate from the report's data period. A report-specific label takes precedence over the agency default in its preview, shared web report, and PDF. A label such as “Performance Report 28-09/04-10” retains those typed dates when you change the report period. Use a date-free label such as “Performance Report”; the cover and preview display the actual Reporting period separately. To correct an older dated label, edit the report, open the Branding step, update Cover label, and save. Applying a new date range alone does not rewrite custom branding text.

Replacing a logo or changing report-facing content invalidates the saved PDF revision. The next PDF request renders the current report instead of serving a previous logo, client, period, or metric snapshot. Changing the report's client, shops, dates, configuration, or other client-facing content also disables its existing public URL, so the old audience cannot see the edited financial snapshot.

The surrounding service email remains Dashboardly branded, while its sender name identifies the agency and its links open the agency-branded report.

Delivery Options

PDF

Choose Download PDF from the report preview. Dashboardly renders the same content shown in the web report. The first render can take several seconds. If the report content, data, and branding have not changed, later downloads reuse the same verified PDF instead of generating another copy. Downloads from the authenticated agency preview refresh changed data; public PDF links follow the shared refresh budget below.

PDF output is sized to the printable A4 page so the complete selected date range remains visible in charts. Interactive application controls, chat, and optional-analytics consent are excluded from the client-facing file.

Public PDF links allow up to five download requests per minute from one IP. Each share link allows one new PDF render per hour, shared across viewers and IP addresses. Opening an existing PDF does not use that budget. If the data refreshes again during that hour, viewers can still download the previous PDF, provided its branding, client, shops, dates, and report settings have not changed. For example, two clients opening the same link after a data sync receive the existing PDF rather than the second client being blocked for an hour. The live web report can show newer data than that saved PDF.

The live report labels its last refresh as Updated. The PDF cover and every PDF page identify a dated PDF snapshot in UTC; they do not use the date when the report draft was first created. For example, a saved PDF may still show $400 Sales while the live report now shows $410. Its snapshot time remains unchanged so the earlier figures are not presented as a new refresh.

The render budget is used only when the PDF renderer starts. A request waiting for another render, or one whose renderer cannot start, does not spend it; a failure after the renderer starts does. If no usable PDF exists, or branding or report settings changed, an exhausted budget returns HTTP 429 with the remaining delay in seconds. The separate five-downloads-per-minute IP limit still applies. For an urgent updated PDF, use the authenticated agency report preview. A temporary access-storage outage returns HTTP 503, not a rate-limit warning.

When you choose Download PDF in the public web report, a download limit or temporary failure leaves the report open. A limit message shows the remaining retry delay when it is available; the displayed report remains readable while you wait. Repeated clicks during a pending download do not start another request.

A share link is a high-entropy public URL. Anyone who has the link can view the report without signing in. You can set it to never expire or expire after 7, 30, or 90 days, regenerate it, or disable it. Selecting a different expiry does not change the live link until you choose Save expiry.

Regenerating rotates the token and immediately invalidates the previous URL without changing its existing expiry. An expired link is shown as inactive and must be recreated before it can be shared again. Before email delivery, Dashboardly renews an expired or nearly expired time-limited link with a bounded expiry window instead of sending a dead URL or silently turning the link into a permanent URL. Password-protected report links are not currently supported.

Dashboardly checks that the complete report can be loaded before enabling a real public link. A report with a disconnected shop or an incomplete financial data response is not published as a plausible-looking partial report.

Agency owners and collaborators with EDIT report access can use Copy share link and Send to client in the preview. Collaborators with VIEW access can read and download the report, but these sharing and delivery commands are not shown. Hiding the commands does not replace Dashboardly's server-side permission checks.

Email

Email delivery sends a branded-report message with buttons for the live web report and PDF. A manual send also checks report completeness before creating or rotating the public link or contacting the email provider.

You can send a report to between 1 and 25 valid email addresses. Separate multiple addresses with commas.

Each manual send uses a retry-safe request key. If Dashboardly cannot confirm whether the provider accepted a message, the UI marks that recipient for reconciliation and warns you not to start a new send. Retry from the same open send window so Dashboardly can reuse the original request.

Recurring Delivery

Weekly, Monthly, and Quarterly automations create an immutable report occurrence for the last fully closed period. Every selected channel is prepared on each run:

  • PDF renders the occurrence PDF.
  • Share link creates a valid public URL.
  • Email sends the occurrence to the configured recipients and includes web/PDF links.

Open Agency > Reports > Automations to view and manage recurring delivery. This is a tab inside Reports, not a separate sidebar page. The next and previous run times are displayed in the report's timezone, with the timezone shown beneath each timestamp.

You can pause, resume, or remove an automation. Removing it keeps the reports already generated. Due / retrying means that the next-run time has arrived and Dashboardly is preparing the run or retrying an output that could not complete. Needs attention means that a valid next-run time is missing. Scheduled delivery stops and remains retryable if any selected shop, comparison period, customer section, or inventory section fails to load completely. Output channels are attempted independently: for example, a temporary PDF failure does not suppress an email that is otherwise ready, but the schedule advances only after every selected output succeeds. Retry-safe delivery records prevent that successful email from being sent twice while the failed output is repaired.

Financial Metric Definitions

Agency Reports use the standard order-date accounting path and include settlement-backed values when available. Recent orders can remain provisional until TikTok publishes statements and transaction adjustments; the report marks that state instead of presenting every order as final.

Key formulas and labels are:

Report metricDefinition
Gross SalesProduct sales subtotal for included non-cancelled orders.
GMVCustomer-paid value, including customer-paid shipping.
Net SalesCanonical product revenue after seller and TikTok product discounts. Refunds are reported separately and are not subtracted a second time in this label.
AOVNet Sales ÷ included unique orders.
Gross ProfitNet Sales − COGS.
Operating ProfitSettlement-aware operating result after COGS and operating costs, before Net Ad Spend.
Net ProfitOperating Profit − Net Ad Spend.
Gross MarginGross Profit ÷ Net Sales × 100.
ROIOperating Profit ÷ COGS × 100. ROI is a percentage, not an ad-spend multiplier.
Total Fees & TaxesThe authoritative signed settlement parent for platform fees and taxes; report cost tiles display the expense magnitude.
Shipping ExpenseThe expense magnitude from the canonical shipping-cost field. The appendix also shows the signed Net Shipping Impact.
Net Ad SpendGross ad spend after TikTok ad credits.
Blended ROASGross Sales ÷ Net Ad Spend.
TACoSNet Ad Spend ÷ Gross Sales × 100.

Two refund percentages describe different quantities:

  • Refund amount (% of product sales) divides the absolute gross product refund amount by product sales, then multiplies by 100. It is a money-based ratio.
  • Refund-only requests (% of orders) divides completed refund-only requests by included non-cancelled orders, then multiplies by 100. It is a request-count ratio.

The appendix labels completed refund-only, return-and-refund, and replacement requests separately. Requests are not unique orders: several completed requests can belong to the same order. Completed refund/return requests sums the first two request counts. Their percentages can exceed 100%; they are not the percentage of unique orders that were refunded. Refund amount ÷ completed requests uses that request count as its denominator. These names clarify the existing calculations.

For example, if a report shows $10,000 Net Sales, $4,000 COGS, $2,500 Operating Profit, and $1,000 Net Ad Spend, it shows $6,000 Gross Profit, 60% Gross Margin, $1,500 Net Profit, and 62.5% ROI. If Gross Sales for the same period is $12,000, Blended ROAS is 12.0× and TACoS is 8.3%.

Ratios are calculated from the summed numerator and denominator. Dashboardly does not add daily percentages together. Missing calendar days are represented as zero for additive money/count metrics so current and comparison periods align by day position. Missing percentages, multipliers, and AOV—and ratio days whose denominator is zero—are shown as unavailable rather than as a fabricated zero.

Why a Report May Differ From the P&L You Are Viewing

The formulas do not differ, but the active scope can. Before comparing values, match all of the following:

  • the same client shops;
  • the same inclusive calendar dates and timezone;
  • the same order-date versus payout/statement-date view;
  • the same accounting and sales basis;
  • the same product/SKU filters and sample-cost settings;
  • the same settlement/provisional-data state at the time of refresh.

Agency Reports currently use the standard order-date accounting path. A P&L opened with a different date basis, accounting basis, or product scope is expected to show different totals even though both surfaces use the same canonical formulas.

Dashboardly never adds money from different native currencies. If a report contains, for example, USD and GBP shops, it suppresses consolidated money KPIs and shows separate per-shop rows in each native currency.

Snapshot and Verification Boundaries

Some optional sections are snapshots rather than period metrics:

  • Customers shows the current lifetime customer-segment and LTV snapshot. It is not “customers acquired during the report period.”
  • Inventory shows stock when the report is generated. Days of cover equals total current stock divided by total 30-day daily unit velocity. Stock turns (run-rate) equals units sold in the last 30 days × 12 ÷ current stock; it is a snapshot estimate, not accounting inventory turnover.
  • Data quality verification checks Dashboardly completeness and the provisional/finalized order state. It does not compare uploaded Seller Center exports or bank deposits and does not assign external match/fail tolerances.

Try the Agency Demo

The agency demo uses synthetic shop data. Reports you create or edit, branding changes, and uploaded logos stay in your current demo session. Generate a report to open its preview, then choose Download PDF to export the selected shops, dates, content, and branding. Demo PDFs are generated for each download, with up to three requests per minute from one IP address. If that limit is reached, wait briefly before retrying.

The creation button becomes available after the client list and branding finish loading. Demo reports do not send real emails, enable public sharing, or run recurring deliveries. Start a new demo session to return to the original fixtures. Verification examples describe internal completeness checks; Seller Center exports and bank deposits are not connected.

Troubleshooting

The report will not share, email, or render as PDF

Open the report preview and check the error. Dashboardly fails closed when a selected shop is inactive, disconnected, inaccessible, or cannot provide complete current/comparison data. Restore the shop connection or wait for the unavailable data source, then retry.

Open the report's Share dialog and create or regenerate the link. Sending the report again also rotates an expired link after the report passes its completeness check.

The chart skipped a day or the period moved by one day

Refresh the report. Report periods and chart keys are calendar dates in the configured report timezone, including scheduled month-end boundaries and daylight-saving changes.

A multi-shop total is missing

Check the currency badges. Consolidated money totals are intentionally hidden when the selected shops use different native currencies; use the per-shop breakdown instead.

Este artigo foi útil?

Artigos Relacionados

Ainda precisa de ajuda?

Nossa equipe de suporte está pronta para ajudar você.