PPC Kick Revenue Ops Cloud

Turn Amazon ad invoices into a live finance-grade data stream.

Replace spreadsheet reconciliation with an operations workspace that continuously syncs invoices, profiles, and reporting payloads.

Invoice normalization Profile-scoped sync API-ready output

15 min

Typical data freshness

24/7

Automated refresh jobs

Single source

Billing + performance context

Live Product Narrative

Shipped story blocks from production signals

Generated from coded features

Invoice Sync

Collect paid invoices automatically

PPC Kick runs AmazonAdvertisingInvoiceSyncJob to capture PAID_IN_FULL invoices across active profiles in a rolling 60-day window.

  • Activation flag: profile_sync_settings.invoices_sync_activated_at.
  • Profile scope: ProfileSyncSetting::VISIBLE=[invoices, campaign].
  • Reporting model ReportConfiguration: 1 report template(s), 54 metrics.
Open invoice workspace

Invoice Detail

Enrich every invoice with detail and delivery hooks

AmazonAdvertisingInvoiceDetailSyncJob fetches per-invoice payloads into amazon_advertising_invoices.json_data and triggers webhook delivery to app.shipmentbot.com.

  • Attachment point: AmazonAdvertisingInvoice#invoice_document.
  • Webhook method: AmazonAdvertisingInvoice#send_webhook.
  • Execution queue: default.
Review invoice details

Developer API

Access invoices with profile-scoped API endpoints

Api::InvoicesController exposes invoice endpoints secured by Authorization: Bearer <ppk_live_...>.

  • Index route: GET /api/invoices.
  • Detail route: GET /api/invoices/:id.
  • Usage telemetry model: ApiKeyDailyMetric.
View API invoice index

Key Management

Issue and revoke profile API keys safely

Profiles::ApiKeysController issues keys with prefix ppk_live_, while ApiKey keeps only SHA256 digests and compares them with ActiveSupport::SecurityUtils.secure_compare.

  • Token format: ppk_live_<token_id>.<secret>.
  • Token lengths: token_id=12, secret=64.
  • Active key rule: revoked_at is null and expires_at is null or in the future.
Go to profile selection

Onboarding Flow

From OAuth to finance-ready reporting in three steps

01

Connect

Sign in with Amazon and select the advertiser profiles your team manages.

02

Sync

Background jobs ingest invoice, spend, and profile data into one normalized stream.

03

Use

Use in-app detail views or profile-scoped API output to reconcile and report faster.