> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Billing Tab

> New tab provides monthly summary of billable activity

export const ChangelogActions = () => {
  return <>
      <style>{`
        .changelog-actions {
          display: flex;
          justify-content: center;
          gap: 12px;
          margin-top: 2rem;
          padding-top: 1.5rem;
          border-top: 1px solid #e5e7eb;
        }
        
        [data-theme="dark"] .changelog-actions {
          border-top-color: #374151;
        }
        
        .changelog-btn {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 8px 16px;
          border-radius: 9999px;
          border: 1px solid #d1d5db;
          background: transparent;
          color: #6b7280;
          font-size: 14px;
          cursor: pointer;
          transition: all 0.2s ease;
        }
        
        .changelog-btn:hover {
          border-color: #9ca3af;
          background: #f9fafb;
        }
        
        [data-theme="dark"] .changelog-btn {
          border-color: #4b5563;
          color: #9ca3af;
        }
        
        [data-theme="dark"] .changelog-btn:hover {
          border-color: #6b7280;
          background: #1f2937;
        }
      `}</style>
      <div className="changelog-actions">
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    btn.innerHTML = "❤️ Like";
    btn.style.borderColor = "#ec4899";
  }}>
          🤍 Like
        </button>
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    navigator.clipboard.writeText(window.location.href);
    const originalContent = btn.innerHTML;
    btn.innerHTML = "✓ Copied";
    btn.style.borderColor = "#22c55e";
    btn.style.color = "#22c55e";
    setTimeout(() => {
      btn.innerHTML = originalContent;
      btn.style.borderColor = "";
      btn.style.color = "";
    }, 2000);
  }}>
          ↗ Share
        </button>
      </div>
    </>;
};

<div className="cl-badge-group">
  <Badge color="gray" size="sm" icon="calendar">
    June 26, 2026
  </Badge>

  <Badge color="blue" size="sm" icon="rectangle-ad">
    Ad Platform
  </Badge>

  <Badge color="green" size="sm" icon="sparkles">
    New Feature
  </Badge>
</div>

## What's New

### Billing tab

Marketplace dashboard users with an Admin or Finance role can now view auction activity and ad spend billed to their marketplace for the selected month.

Navigate to **Settings > Billing**. The page includes:

* Total ad spend
* Total auction calls
* Auction calls with winners
* An ad spend breakdown by clicks, impressions, exclusive campaigns, and attributed purchases

This provides a self-service way for marketplaces to understand their monthly bills and see exactly what they are being charged for.

Learn more in the [Billing Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/billing-tab) guide.

### Finance role

A new **Finance** role is available for marketplace users who need financial oversight without campaign management or platform administration access.

Finance users have marketplace-wide visibility into all advertisers and can access the Finance and Billing tabs, analytics and campaign reporting (read-only), wallet top-ups, vendor user invitations, and payment settings. They cannot create or edit campaigns or manage marketplace users.

Assign the Finance role from the Users section in Settings.

Learn more in the [Roles and Permissions](/en/knowledge-base/ad-platform/self-service-and-access/roles-permissions) guide.

<ChangelogActions />
