PageSourceSearch

https://www.neonpanel.com/tiktok-shop-to-quickbooks

html neonpanel.com collected 2026-10-01 16:27:36 UTC 163,197 bytes, 5,029 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4  <meta charset="utf-8">
5  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1">
7  <meta name="format-detection" content="telephone=no">
8  <meta http-equiv="x-dns-prefetch-control" content="on">
9  
10  
10<script>
11    (function(){
12      window.dataLayer = window.dataLayer || [];
13      function gtag(){dataLayer.push(arguments);}
14      window.gtag = gtag;
15
16      gtag('consent', 'default', {
17        ad_storage: 'denied',
18        analytics_storage: 'denied',
19        ad_user_data: 'denied',
20        ad_personalization: 'denied'
21      });
22
23      var NP = window.NP = window.NP || {};
24      var COOKIE_NAME = 'np_cookie_consent';
25
26      function readCookie() {
27        var m = document.cookie.match('(?:^|;\\s*)' + COOKIE_NAME + '=([^;]+)');
28        return m ? m[1] : null;
29      }
30
31      function writeCookie(val) {
32        var secure = location.protocol === 'https:' ? ';Secure' : '';
33        document.cookie = COOKIE_NAME + '=' + val + ';Max-Age=31536000;SameSite=Lax;Path=/' + secure;
34      }
35
36      var consent = readCookie();
37
38      if (!consent && navigator.globalPrivacyControl === true) {
39        consent = 'rejected';
40        writeCookie('rejected');
41      }
42
43      NP.analyticsConsent = consent;
44      NP._writeCookie = writeCookie;
45      NP._readCookie = readCookie;
46
47      if (consent === 'accepted') {
48        gtag('consent', 'update', {
49          ad_storage: 'granted',
50          analytics_storage: 'granted',
51          ad_user_data: 'granted',
52          ad_personalization: 'granted'
53        });
54      }
55    })();
56  </script>
56
57
58  
59  
59<script>
60    window.hsConversationsSettings = window.hsConversationsSettings || {};
61    window.hsConversationsSettings.loadImmediately = false;
62  </script>
62
63
64  
65  
66  
67  
68  <title>TikTok Shop to QuickBooks Integration | NeonPanel</title>
69  <meta name="description" content="Automate the TikTok Shop to QuickBooks integration with NeonPanel — map payouts, fees, COGS, and sales tax into QuickBooks Online on every settlement cycle.">
70  
71  
72  <link rel="canonical" href="https://www.neonpanel.com/tiktok-shop-to-quickbooks">
73  
74  
75  
76  <meta property="og:url" content="https://www.neonpanel.com/tiktok-shop-to-quickbooks">
77  <meta property="og:title" content="TikTok Shop to QuickBooks Integration">
78  <meta property="og:description" content="Automate the TikTok Shop to QuickBooks integration with NeonPanel — map payouts, fees, COGS, and sales tax into QuickBooks Online on every settlement cycle.">
79  <meta property="og:type" content="website">
80  <meta property="og:image" content="https://www.neonpanel.com/images/homepage-hero.webp">
81  <meta name="twitter:card" content="summary_large_image">
82  <meta name="twitter:title" content="TikTok Shop to QuickBooks Integration">
83  <meta name="twitter:description" content="Automate the TikTok Shop to QuickBooks integration with NeonPanel — map payouts, fees, COGS, and sales tax into QuickBooks Online on every settlement cycle.">
84  <meta name="twitter:image" content="https://www.neonpanel.com/images/homepage-hero.webp">
85  <meta name="generator" content="Eleventy">
86  <!-- Preconnect to critical domains for better performance -->
87  <link rel="preconnect" href="https://fonts.googleapis.com">
88  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
89  <!-- Preload critical resources -->
90  <link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap&subset=latin,cyrillic" as="style" crossorigin>
91  <!-- Preload hero image for LCP optimization (use page-specific heroImage or default) -->
92  
93  <link rel="preload" href="/images/homepage-hero.webp" as="image" fetchpriority="high">
94  
95  <link rel="icon" href="/images/NeonPanel_favicon.png?v=np-png-1" type="image/png">
96  <style>
97    /* Critical NeonPanel layout and hero primitives for LCP text rendering. */
98    :root{--np-violet:#5f59f0;--np-hero-bg:#F1E9F4;--np-text:#363636;--np-heading:#212121}
99    body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--np-text);text-rendering:optimizeLegibility}
100    /* Site content width: 1200px max + 16px horizontal padding (matches homepage min(1200px, calc(100% - 48px)) intent). */
101    .np-container{max-width:1200px;margin:0 auto;padding-left:16px;padding-right:16px}
102    .np-section{padding:80px 0}
103    .np-section.bg-gray{background:#f9fafb}
104    .np-section.bg-hero{background:var(--np-hero-bg)}
105    .np-h1{margin:0 0 20px;font-family:'Inter',Arial,sans-serif;font-size:clamp(40px,5vw,52px);font-weight:700;line-height:1.08;letter-spacing:-.03em;color:var(--np-heading)}
106    .np-h2{margin:0 0 20px;font-family:'Inter',Arial,sans-serif;font-size:clamp(30px,3.5vw,36px);font-weight:600;line-height:1.18;color:#3d2e7c}
107    .np-h3{margin:0 0 12px;font-family:'Inter',Arial,sans-serif;font-size:22px;font-weight:600;line-height:1.25;color:#111}
108    .np-lead,.np-hero-description{margin:0;color:#555;font-family:'Inter',Arial,sans-serif;font-size:19px;line-height:1.65}
109    .np-text{font-size:17px;line-height:1.7;color:#444}
110    .np-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px;align-items:center}
111    img{max-width:100%;height:auto}
112    @media (max-width:768px){.np-section{padding:56px 0}.np-grid-2{grid-template-columns:1fr;gap:32px}.np-lead,.np-hero-description{font-size:17px}}
113  </style>
114  
115  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap&subset=latin,cyrillic" rel="stylesheet" media="print" onload="this.media='all'">
116  <noscript><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap&subset=latin,cyrillic" rel="stylesheet"></noscript>
117  <link rel="stylesheet" href="/assets/css/site.css" media="print" onload="this.media='all'">
118  <noscript><link rel="stylesheet" href="/assets/css/site.css"></noscript>
119  <link rel="stylesheet" href="/assets/css/header-override.css">
120  <link rel="stylesheet" href="/assets/css/components.css">
121  <style>
122    /* Font fallback to prevent FOIT */
123    body {
124      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
125    }
126    
127    /* Fixed header compensation - accounts for the fixed np-header height */
128    :root {
129      --header-height: 68px;
130      --header-padding: 0px;
131    }
132    
133    @media (max-width: 1199px) {
134      :root {
135        --header-height: 58px;
136        --header-padding: 0px;
137      }
138    }
139    
140    html {
141      scroll-padding-top: var(--header-height);
142    }
143    
144    /* Ensure main content respects fixed header on pages with np-content */
145    main.np-content {
146      padding-top: 85px !important;
147      margin-top: 0 !important;
148    }
149    
150    @media (max-width: 1199px) {
151      main.np-content {
152        padding-top: 58px !important;
153      }
154    }
155  </style>
156
157  
158
159    
160    
161
162
163
164
165
166
167
168
169
170
171
172
173
174<script type="application/ld+json">
175{
176  "@context": "https://schema.org",
177  "@graph": [
178    {
179      "@type": "Organization",
180      "@id": "https://www.neonpanel.com#organization",
181      "name": "NeonPanel",
182      "url": "https://www.neonpanel.com",
183      "logo": {
184        "@type": "ImageObject",
185        "url": "https://www.neonpanel.com/images/neonpanel-logo.svg"
186      },
187      "sameAs": [
188        "https://www.youtube.com/@true_neonpanel",
189        "https://www.linkedin.com/company/neonpanel/",
190        "https://www.facebook.com/people/NeonPanel/61582609174767/"
191      ]
192    },
193    {
194      "@type": "Person",
195      "@id": "https://www.neonpanel.com/blog/author/michael-sorochev#person",
196      "name": "Michael Sorochev",
197      "url": "https://www.neonpanel.com/blog/author/michael-sorochev",
198      "jobTitle": "Founder and operator",
199      "worksFor": {
200        "@id": "https://www.neonpanel.com#organization"
201      },
202      "knowsAbout": [
203        "Ecommerce accounting",
204        "Amazon marketplace operations",
205        "Inventory management",
206        "FIFO COGS",
207        "Landed cost"
208      ],
209      "email": "[email protected]"
210    },
211    {
212      "@type": "WebSite",
213      "@id": "https://www.neonpanel.com#website",
214      "url": "https://www.neonpanel.com",
215      "name": "NeonPanel",
216      "publisher": {
217        "@id": "https://www.neonpanel.com#organization"
218      }
219    },
220    {
221      "@type": "WebPage",
222      "@id": "https://www.neonpanel.com/tiktok-shop-to-quickbooks#webpage",
223      "url": "https://www.neonpanel.com/tiktok-shop-to-quickbooks",
224      "name": "TikTok Shop to QuickBooks Integration | NeonPanel",
225      "isPartOf": {
226        "@id": "https://www.neonpanel.com#website"
227      }
228    },
229    {
230      "@type": "SoftwareApplication",
231      "@id": "https://www.neonpanel.com#softwareapplication",
232      "name": "NeonPanel",
233      "applicationCategory": "BusinessApplication",
234      "operatingSystem": "Web",
235      "url": "https://www.neonpanel.com",
236      "publisher": {
237        "@id": "https://www.neonpanel.com#organization"
238      },
239      "areaServed": [
240        {
241          "@type": "Country",
242          "name": "United States"
243        },
244        {
245          "@type": "AdministrativeArea",
246          "name": "United Kingdom"
247        },
248        {
249          "@type": "AdministrativeArea",
250          "name": "European Union"
251        },
252        {
253          "@type": "Country",
254          "name": "Canada"
255        }
256      ]
257    }
258  ]
259}
260</script>
260
261
262
263
264
265
266  
267  
268  
269
270
271
272<script type="application/ld+json">
273{
274  "@context": "https://schema.org",
275  "@type": "BreadcrumbList",
276  "itemListElement": [
277    {
278      "@type": "ListItem",
279      "position": 1,
280      "name": "Home",
281      "item": "https://www.neonpanel.com"
282    },
283    {
284      "@type": "ListItem",
285      "position": 2,
286      "name": "TikTok Shop to QuickBooks Integration",
287      "item": "https://www.neonpanel.com/tiktok-shop-to-quickbooks"
288    }
289  ]
290}
291</script>
291
292
293
294</head>
295<body class="np-site-body" style="margin:0;padding:0;width:100%;">
296  
297
298
299
300
301<header class="np-header" id="np-header">
302  <div class="np-header__container">
303    
304    <div class="np-header__logo">
305      <a href="/">
306        <img src="/images/neonpanel-logo.svg" alt="NeonPanel" width="200" height="48">
307      </a>
308    </div>
309
310    
311    <nav class="np-header__nav">
312      <ul class="np-header__menu">
313        
314        
315        
316        <li class="np-header__menu-item np-header__menu-item--dropdown">
317          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
318            AI
319            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
320              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
321            </svg>
322          </a>
323          <div class="np-header__dropdown">
324            
325            <a href="/ai" class="np-header__dropdown-item">
326              <div class="np-header__dropdown-item-title">Overview</div>
327              <div class="np-header__dropdown-item-desc">
327How NeonPanel connects to any AI tool via MCP</div>
328            </a>
329            
330            
331            <a href="/mcp-access" class="np-header__dropdown-item">
332              <div class="np-header__dropdown-item-title">MCP Access</div>
333              <div class="np-header__dropdown-item-desc">Connect your Amazon data to any MCP-compatible AI</div>
334            </a>
335            
336            
337            <a href="/claude-plugin" class="np-header__dropdown-item">
338              <div class="np-header__dropdown-item-title">NeonPanel for Claude</div>
339              <div class="np-header__dropdown-item-desc">8 specialist agents inside Claude Code & Cowork</div>
340            </a>
341            
342            
343            <a href="/slack" class="np-header__dropdown-item">
344              <div class="np-header__dropdown-item-title">Agents in Slack</div>
345              <div class="np-header__dropdown-item-desc">Call NeonPanel specialists directly in Slack — same agents as Claude</div>
346            </a>
347            
348            
349            <a href="/viktor-plugin" class="np-header__dropdown-item">
350              <div class="np-header__dropdown-item-title">NeonPanel for Viktor</div>
351              <div class="np-header__dropdown-item-desc">Optional general coworker that routes when you prefer not to pick an agent</div>
352            </a>
353            
354          </div>
355        </li>
356        
357
358        
359        
360        <li class="np-header__menu-item np-header__menu-item--dropdown">
361          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
362            Modules
363            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
364              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
365            </svg>
366          </a>
367          <div class="np-header__dropdown np-header__dropdown--wide np-header__dropdown--cols np-header__dropdown--modules">
368            
369            
370            <div class="np-header__dropdown-section">
371              <a href="/inventory-management" class="np-header__dropdown-item np-header__dropdown-item--module-hub">
372                <div class="np-header__dropdown-item-title">Inventory Management</div>
373              </a>
374              <a href="/inventory-management-amazon" class="np-header__dropdown-subitem">Amazon</a>
375              <a href="/inventory-management-shopify" class="np-header__dropdown-subitem">Shopify</a>
376              <a href="/multi-channel-inventory-management" class="np-header__dropdown-subitem">Multi-channel inventory</a>
377              <a href="/landed-cost-fifo" class="np-header__dropdown-subitem">Landed Cost Management</a>
378            </div>
379            
380
381            
382            
383            <div class="np-header__dropdown-section">
384              <a href="/accounting-ecommerce" class="np-header__dropdown-item np-header__dropdown-item--module-hub">
385                <div class="np-header__dropdown-item-title">Ecommerce Accounting</div>
386              </a>
387              <a href="/accounting-amazon" class="np-header__dropdown-subitem">Amazon</a>
388              <a href="/accounting-shopify" class="np-header__dropdown-subitem">Shopify</a>
389              <a href="/automatic-cogs" class="np-header__dropdown-subitem">Automatic COGS</a>
390              <a href="/amazon-p-and-l-statement" class="np-header__dropdown-subitem">Amazon P&amp;L Statement</a>
391            </div>
392            
393
394            
395            
396            <div class="np-header__dropdown-section">
397              <a href="/inventory-forecasting" class="np-header__dropdown-item np-header__dropdown-item--module-hub">
398                <div class="np-header__dropdown-item-title">Inventory Forecasting &amp; Planning</div>
399              </a>
400              <a href="/inventory-forecasting/amazon" class="np-header__dropdown-subitem">Amazon</a>
401              <a href="/inventory-forecasting/shopify" class="np-header__dropdown-subitem">Shopify</a>
402            </div>
403            
404
405            
406            
407            <div class="np-header__dropdown-section">
408              
409              <a href="/inventory-management-analytics" class="np-header__dropdown-item np-header__dropdown-item--module-hub">
410                <div class="np-header__dropdown-item-title">Inventory Analytics</div>
411              </a>
412              
413              <a href="/analytics-amazon" class="np-header__dropdown-subitem">Amazon</a>
414              <a href="/analytics-shopify" class="np-header__dropdown-subitem">Shopify</a>
415            </div>
416            
417
418            
419            
420
421            
422            
423            <div class="np-header__dropdown-section">
424              <a href="/amazon-logistics" class="np-header__dropdown-item np-header__dropdown-item--module-hub">
425                <div class="np-header__dropdown-item-title">Amazon Logistics</div>
426              </a>
427              <a href="/logistics-realtime-tracking" class="np-header__dropdown-subitem">Real-Time Tracking</a>
428              <a href="/logistics-automated-fba" class="np-header__dropdown-subitem">Automated FBA</a>
429              <a href="/logistics-supply-chain" class="np-header__dropdown-subitem">Supply Chain</a>
430              <a href="/logistics-multichannel-fulfillment" class="np-header__dropdown-subitem">Multi-Channel Fulfillment</a>
431            </div>
432            
433          </div>
434        </li>
435        
436
437        
438        
439        <li class="np-header__menu-item np-header__menu-item--dropdown">
440          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
441            Integrations
442            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
443              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
444            </svg>
445          </a>
446          <div class="np-header__dropdown np-header__dropdown--wide np-header__dropdown--integrations">
447            <div class="np-header__dropdown-section">
448              
449              <a href="/quickbooks-integration" class="np-header__dropdown-item np-header__dropdown-item--integrations-hub">
450                <div class="np-header__dropdown-item-title">QuickBooks Integrations</div>
451              </a>
452              <a href="/tiktok-shop-to-quickbooks" class="np-header__dropdown-subitem">TikTok to QuickBooks</a>
453              <a href="/amazon-to-quickbooks" class="np-header__dropdown-subitem">Amazon to QuickBooks</a>
454              <a href="/shopify-to-quickbooks" class="np-header__dropdown-subitem">Shopify to QuickBooks</a>
455            </div>
456            <div class="np-header__dropdown-section">
457              <a href="/xero-integration" class="np-header__dropdown-item np-header__dropdown-item--integrations-hub">
458                <div class="np-header__dropdown-item-title">Xero Integrations</div>
459              </a>
460              <a href="/tiktok-shop-to-xero" class="np-header__dropdown-subitem">TikTok to Xero</a>
461              <a href="/amazon-to-xero" class="np-header__dropdown-subitem">Amazon to Xero</a>
462              <a href="/shopify-to-xero" class="np-header__dropdown-subitem">Shopify to Xero</a>
463            </div>
464          </div>
465        </li>
466        
467
468        
469        
470        <li class="np-header__menu-item np-header__menu-item--dropdown">
471          <a href="/solutions" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
472            Solutions
473            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
474              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
475            </svg>
476          </a>
477          <div class="np-header__dropdown np-header__dropdown--cols">
478            <a href="/solutions" class="np-header__dropdown-item">
479              <div class="np-header__dropdown-item-title">All combinations</div>
480              <div class="np-header__dropdown-item-desc">Four module combinations, each resting on the last</div>
481            </a>
482            
483            <a href="/solutions/automatic-pnl" class="np-header__dropdown-item">
484              <div class="np-header__dropdown-item-title">Automatic P&amp;L</div>
485              <div class="np-header__dropdown-item-desc">Accounting &amp; Finance alone, and books that already read true</div>
486            </a>
487            
488            
489            <a href="/solutions/calculated-cogs" class="np-header__dropdown-item">
490              <div class="np-header__dropdown-item-title">Calculated COGS</div>
491              <div class="np-header__dropdown-item-desc">Landed costs NeonPanel works out from your orders and bills</div>
492            </a>
493            
494            
495            <a href="/solutions/shipment-level-visibility" class="np-header__dropdown-item">
496              <div class="np-header__dropdown-item-title">Shipment-level visibility</div>
497              <div class="np-header__dropdown-item-desc">Batch costs, in-transit states, and supply chain you can read</div>
498            </a>
499            
500            
501            <a href="/solutions/forecast-and-replenish" class="np-header__dropdown-item">
502              <div class="np-header__dropdown-item-title">Forecast and replenish</div>
503              <div class="np-header__dropdown-item-desc">Planning priced on the costs that closed your books</div>
504            </a>
505            
506          </div>
507        </li>
508        
509
510        
511        
512        <li class="np-header__menu-item np-header__menu-item--dropdown">
513          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
514            Pricing
515            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
516              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
517            </svg>
518          </a>
519          <div class="np-header__dropdown">
520            <a href="/pricing" class="np-header__dropdown-item">
521              <div class="np-header__dropdown-item-title">Pricing Plans</div>
522              <div class="np-header__dropdown-item-desc">Essentials and Professional plans, add-ons, and onboarding</div>
523            </a>
524            <a href="/essentials-vs-professional" class="np-header__dropdown-item">
525              <div class="np-header__dropdown-item-title">Plan Comparison</div>
526              <div class="np-header__dropdown-item-desc">Compare Essentials vs Professional for your business</div>
527            </a>
528          </div>
529        </li>
530        
531
532        
533        
534        <li class="np-header__menu-item">
535          <a href="/blog" class="np-header__menu-link np-header__menu-link--plain">Blog</a>
536        </li>
537        
538
539        
540        
541        <li class="np-header__menu-item np-header__menu-item--dropdown">
542          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
543            Resources
544            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
545              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
546            </svg>
547          </a>
548          <div class="np-header__dropdown np-header__dropdown--cols">
549            
550            <a href="/how-it-works" class="np-header__dropdown-item" data-np-source="header_resources_how-it-works">
551              <div class="np-header__dropdown-item-title">How It Works</div>
552              <div class="np-header__dropdown-item-desc">See how the NeonPanel operating system layers together</div>
553            </a>
554            
555            <a href="https://neonpanel.elevio.help/en" class="np-header__dropdown-item">
556              <div class="np-header__dropdown-item-title">Knowledge Base</div>
557              <div class="np-header__dropdown-item-desc">Explore guides and FAQs</div>
558            </a>
559            <a href="/glossary" class="np-header__dropdown-item" data-np-source="header_resources_glossary">
560              <div class="np-header__dropdown-item-title">Glossary</div>
561              <div class="np-header__dropdown-item-desc">Key terms for inventory, COGS, and ecommerce operations</div>
562            </a>
563            <a href="https://www.youtube.com/@true_neonpanel" class="np-header__dropdown-item">
564              <div class="np-header__dropdown-item-title">YouTube Channel</div>
565              <div class="np-header__dropdown-item-desc">Watch step-by-step NeonPanel tutorials</div>
566            </a>
567            <a href="/onboarding" class="np-header__dropdown-item">
568              <div class="np-header__dropdown-item-title">Onboarding Guide</div>
569              <div class="np-header__dropdown-item-desc">See how we get you to audit-ready numbers</div>
570            </a>
571            <a href="/case-studies" class="np-header__dropdown-item">
572              <div class="np-header__dropdown-item-title">Case Studies</div>
573              <div class="np-header__dropdown-item-desc">Learn how we helped other businesses</div>
574            </a>
575            <a href="/chrome-extension" class="np-header__dropdown-item">
576              <div class="np-header__dropdown-item-title">Chrome Extension</div>
577              <div class="np-header__dropdown-item-desc">Free Sales Forecast Studio &amp; Profitability Calculator</div>
578            </a>
579            <a href="/essentials-vs-professional" class="np-header__dropdown-item">
580              <div class="np-header__dropdown-item-title">Plan Comparison</div>
581              <div class="np-header__dropdown-item-desc">Essentials vs Professional — which plan fits your business</div>
582            </a>
583          </div>
584        </li>
585        
586
587        
588        
589        <li class="np-header__menu-item np-header__menu-item--dropdown">
590          <a href="#" class="np-header__menu-link np-header__menu-link--plain" aria-expanded="false" aria-haspopup="true">
591            Connect
592            <svg class="np-header__dropdown-icon" width="10" height="6" viewBox="0 0 10 6" fill="none">
593              <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
594            </svg>
595          </a>
596          <div class="np-header__dropdown">
597            <a href="/contact-us" class="np-header__dropdown-item">
598              <div class="np-header__dropdown-item-title">Contact Us</div>
599              <div class="np-header__dropdown-item-desc">Reach out for support, partnerships, or general inquiries</div>
600            </a>
601            <a href="/affiliate-program" class="np-header__dropdown-item">
602              <div class="np-header__dropdown-item-title">Affiliate Program</div>
603              <div class="np-header__dropdown-item-desc">Start earning money with our affiliate program</div>
604            </a>
605          </div>
606        </li>
607        
608      </ul>
609    </nav>
610
611    
612    <div class="np-header__actions">
613      <a href="https://my.neonpanel.com/login" class="np-header__login-link">Login</a>
614      <a href="https://www.neonpanel.com/meetings/michael-sorochev/neonpanel-discovery-and-demo" class="np-header__btn np-header__btn--primary" data-np-source="header_nav_book-demo">Book a Demo</a>
615      <a href="https://my.neonpanel.com/register" class="np-header__btn np-header__btn--secondary" data-np-source="header_secondary_free-trial">Start Free</a>
616    </div>
617
618    
619    <button class="np-header__mobile-toggle" aria-label="Toggle mobile menu" aria-expanded="false">
620      <span></span>
621      <span></span>
622      <span></span>
623    </button>
624  </div>
625
626  
627  <div class="np-header__mobile-menu">
628    <nav class="np-header__mobile-nav">
629      
630      
631      
632      <div class="np-mobile-section">
633        <button class="np-mobile-section__toggle" aria-expanded="false">
634          AI
635          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
636            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
637          </svg>
638        </button>
639        <div class="np-mobile-section__content">
640          <a href="/ai" class="np-mobile-link">Overview</a>
641          <a href="/mcp-access" class="np-mobile-link">MCP Access</a>
642          <a href="/claude-plugin" class="np-mobile-link">NeonPanel for Claude</a>
643          <a href="/slack" class="np-mobile-link">Agents in Slack</a>
644          <a href="/viktor-plugin" class="np-mobile-link">NeonPanel for Viktor</a>
645        </div>
646      </div>
647      
648
649      
650      
651      <div class="np-mobile-section">
652        <button class="np-mobile-section__toggle" aria-expanded="false">
653          Modules
654          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
655            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
656          </svg>
657        </button>
658        <div class="np-mobile-section__content">
659          
660          <a href="/inventory-management" class="np-mobile-link">Inventory Management</a>
661          <a href="/inventory-management-amazon" class="np-mobile-link np-mobile-link--sub">Amazon</a>
662          <a href="/inventory-management-shopify" class="np-mobile-link np-mobile-link--sub">Shopify</a>
663          <a href="/multi-channel-inventory-management" class="np-mobile-link np-mobile-link--sub">Multi-channel inventory</a>
664          <a href="/landed-cost-fifo" class="np-mobile-link np-mobile-link--sub">Landed Cost Management</a>
665          
666          
667          <a href="/inventory-forecasting" class="np-mobile-link">Inventory Forecasting &amp; Planning</a>
668          
669          
670          
671          <a href="/inventory-management-analytics" class="np-mobile-link">Inventory Analytics</a>
672          
673          
674          
675          <a href="/accounting-ecommerce" class="np-mobile-link">Ecommerce Accounting</a>
676          <a href="/accounting-amazon" class="np-mobile-link np-mobile-link--sub">Amazon</a>
677          <a href="/accounting-shopify" class="np-mobile-link np-mobile-link--sub">Shopify</a>
678          <a href="/automatic-cogs" class="np-mobile-link np-mobile-link--sub">Automatic COGS</a>
679          <a href="/amazon-p-and-l-statement" class="np-mobile-link np-mobile-link--sub">Amazon P&amp;L Statement</a>
680          
681          
682          
683          <span class="np-mobile-section__subtitle">Amazon Logistics</span>
684          <a href="/amazon-logistics" class="np-mobile-link np-mobile-link--sub">Overview</a>
685          <a href="/logistics-realtime-tracking" class="np-mobile-link np-mobile-link--sub">Real-Time Tracking</a>
686          <a href="/logistics-automated-fba" class="np-mobile-link np-mobile-link--sub">Automated FBA</a>
687          <a href="/logistics-supply-chain" class="np-mobile-link np-mobile-link--sub">Supply Chain</a>
688          <a href="/logistics-multichannel-fulfillment" class="np-mobile-link np-mobile-link--sub">Multi-Channel Fulfillment</a>
689          
690        </div>
691      </div>
692      
693
694      
695      
696      <div class="np-mobile-section">
697        <button class="np-mobile-section__toggle" aria-expanded="false">
698          Integrations
699          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
700            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
701          </svg>
702        </button>
703        <div class="np-mobile-section__content">
704          <span class="np-mobile-section__subtitle">QuickBooks</span>
705          <a href="/quickbooks-integration" class="np-mobile-link">QuickBooks Integration</a>
706          <a href="/amazon-to-quickbooks" class="np-mobile-link np-mobile-link--sub">Amazon to QuickBooks</a>
707          <a href="/shopify-to-quickbooks" class="np-mobile-link np-mobile-link--sub">Shopify to QuickBooks</a>
708          <a href="/tiktok-shop-to-quickbooks" class="np-mobile-link np-mobile-link--sub">TikTok to QuickBooks</a>
709          <span class="np-mobile-section__subtitle">Xero</span>
710          <a href="/xero-integration" class="np-mobile-link">Xero Integration</a>
711          <a href="/amazon-to-xero" class="np-mobile-link np-mobile-link--sub">Amazon to Xero</a>
712          <a href="/shopify-to-xero" class="np-mobile-link np-mobile-link--sub">Shopify to Xero</a>
713          <a href="/tiktok-shop-to-xero" class="np-mobile-link np-mobile-link--sub">TikTok to Xero</a>
714        </div>
715      </div>
716      
717
718      
719      
720      <div class="np-mobile-section">
721        <button class="np-mobile-section__toggle" aria-expanded="false">
722          Solutions
723          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
724            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
725          </svg>
726        </button>
727        <div class="np-mobile-section__content np-mobile-section__content--cols">
728          <a href="/solutions" class="np-mobile-link">All combinations</a>
729          <a href="/solutions/automatic-pnl" class="np-mobile-link np-mobile-link--sub">Automatic P&amp;L</a>
730          <a href="/solutions/calculated-cogs" class="np-mobile-link np-mobile-link--sub">Calculated COGS</a>
731          <a href="/solutions/shipment-level-visibility" class="np-mobile-link np-mobile-link--sub">Shipment-level visibility</a>
732          <a href="/solutions/forecast-and-replenish" class="np-mobile-link np-mobile-link--sub">Forecast and replenish</a>
733        </div>
734      </div>
735      
736
737      
738      
739      <div class="np-mobile-section">
740        <button class="np-mobile-section__toggle" aria-expanded="false">
741          Resources
742          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
743            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
744          </svg>
745        </button>
746        <div class="np-mobile-section__content np-mobile-section__content--cols">
747          
748          <a href="/how-it-works" class="np-mobile-link" data-np-source="header_resources-mobile_how-it-works">How It Works</a>
749          
750          <a href="https://neonpanel.elevio.help/en" class="np-mobile-link" target="_blank">Knowledge Base</a>
751          <a href="/glossary" class="np-mobile-link" data-np-source="header_resources-mobile_glossary">Glossary</a>
752          <a href="https://www.youtube.com/@true_neonpanel" class="np-mobile-link" target="_blank">YouTube Channel</a>
753          <a href="/onboarding" class="np-mobile-link">Onboarding Guide</a>
754          <a href="/case-studies" class="np-mobile-link">Case Studies</a>
755          <a href="/chrome-extension" class="np-mobile-link">Chrome Extension</a>
756          <a href="/essentials-vs-professional" class="np-mobile-link">Plan Comparison</a>
757        </div>
758      </div>
759      
760
761      
762      
763      <div class="np-mobile-section">
764        <button class="np-mobile-section__toggle" aria-expanded="false">
765          Pricing
766          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
767            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
768          </svg>
769        </button>
770        <div class="np-mobile-section__content">
771          <a href="/pricing" class="np-mobile-link">Pricing Plans</a>
772          <a href="/essentials-vs-professional" class="np-mobile-link">Plan Comparison</a>
773        </div>
774      </div>
775      
776
777      
778      
779      <a href="/blog" class="np-mobile-link np-mobile-link--top">Blog</a>
780      
781
782      
783      
784      <div class="np-mobile-section">
785        <button class="np-mobile-section__toggle" aria-expanded="false">
786          Connect
787          <svg class="np-mobile-section__icon" width="12" height="7" viewBox="0 0 12 7" fill="none">
788            <path d="M1 1L6 6L11 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
789          </svg>
790        </button>
791        <div class="np-mobile-section__content">
792          <a href="/contact-us" class="np-mobile-link">Contact Us</a>
793          <a href="/affiliate-program" class="np-mobile-link">Affiliate Program</a>
794        </div>
795      </div>
796      
797
798      
799      <div class="np-mobile-cta">
800        <a href="https://www.neonpanel.com/meetings/michael-sorochev/neonpanel-discovery-and-demo" class="np-mobile-cta__btn np-mobile-cta__btn--primary" data-np-source="header_nav-mobile_book-demo">Book a Demo</a>
801        <a href="https://my.neonpanel.com/register" class="np-mobile-cta__btn np-mobile-cta__btn--secondary" data-np-source="header_secondary-mobile_free-trial">Start Free</a>
802        <a href="https://my.neonpanel.com/login" class="np-mobile-cta__login-link">Already have an account? Login</a>
803      </div>
804
805    </nav>
806  </div>
807</header>
808
809<style>
810/* Reset body and container margin to eliminate top whitespace */
811body {
812  margin: 0 !important;
813  padding: 0 !important;
814}
815
816/* Header Container */
817/* Root stack for the chrome header — anchors inherit unless a theme sets header a { font-family } */
818#np-header.np-header {
819  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
820}
821
822.np-header {
823  background-color: #ffffff;
824  border-bottom: 1px solid #e5e7eb;
825  position: fixed;
826  top: 0;
827  left: 0;
828  right: 0;
829  width: 100%;
830  /* Must sit above HubSpot blog / breadcrumb chrome and page modules (often z-index 5k–1e4) */
831  z-index: 20000;
832  transition: box-shadow 0.3s ease;
833  margin: 0 !important;
834  padding: 0 !important;
835  height: 68px;
836  overflow: visible;
837}
838
839.np-header.np-header--scrolled {
840  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
841}
842
843.np-header__container {
844  position: relative;
845  z-index: 2;
846  width: min(1440px, 100%) !important;
847  max-width: 1440px !important;
848  margin: 0 auto !important;
849  padding: 10px 24px !important;
850  display: grid !important;
851  grid-template-columns: auto 1fr auto;
852  align-items: center;
853  column-gap: 14px;
854  height: 100%;
855  overflow: visible;
856}
857
858/* Logo */
859.np-header__logo {
860  margin-right: 0 !important;
861  justify-self: start;
862}
863
864.np-header__logo a {
865  display: block;
866  line-height: 0;
867}
868
869.np-header__logo img {
870  display: block;
871  height: 48px;
872  width: auto;
873}
874
875/* Desktop Navigation — stack above .np-header__actions so right-side dropdowns
876   are not covered by Start Free / Book a Demo (same grid row, later sibling wins by paint order). */
877.np-header__nav {
878  flex: 0 1 auto;
879  display: none;
880  justify-self: center;
881  align-self: center;
882  position: relative;
883  z-index: 3;
884}
885
886.np-header__menu {
887  list-style: none;
888  margin: 0;
889  padding: 0;
890  padding-top: 1px; /* optical nudge; avoid transform here — transform creates a stacking context and breaks dropdown layering */
891  display: flex;
892  align-items: center;
893  justify-content: center;
894  gap: 20px;
895}
896
897/* Menu links: keep baseline/padding consistent for vertical centering */
898.np-header__menu-link {
899  display: inline-flex;
900  align-items: center;
901  line-height: 1;
902  padding: 10px 0;
903}
904
905.np-header__menu-item {
906  position: relative;
907}
908
909/* Open dropdown must stack above later siblings in the flex row (otherwise menus paint under page hero).
910   :hover + JS .np-header__menu-item--hovered keep mega menus above neighboring items and page content. */
911.np-header__menu-item--dropdown:hover,
912.np-header__menu-item--dropdown:focus-within,
913.np-header__menu-item--dropdown.np-header__menu-item--hovered,
914.np-header__menu-item--dropdown.np-header__menu-item--open {
915  z-index: 10050;
916}
917
918.np-header__menu-link {
919  display: flex;
920  align-items: center;
921  gap: 6px;
922  padding: 8px 0;
923  font-family: 'Inter', Arial, sans-serif;
924  font-size: 16px;
925  font-weight: 500;
926  color: #000000;
927  text-decoration: none;
928  background: none;
929  border: none;
930  cursor: pointer;
931  transition: color 0.3s ease-in-out;
932}
933
934/* Dropdown top-level triggers use <a href="#"> like Pricing (not <button>) so HubSpot blog CSS does not apply default button chrome */
935
936.np-header__menu-link:hover {
937  color: #5f59f0;
938}
939
940.np-header__menu-link--plain {
941  color: #000000 !important;
942}
943
944.np-header__menu-link--plain:hover {
945  color: #5f59f0 !important;
946}
947
948#np-header a:focus-visible,
949#np-header button:focus-visible {
950  outline: 2px solid #5f59f0;
951  outline-offset: 3px;
952  border-radius: 8px;
953}
954
955.np-header__dropdown-icon {
956  transition: transform 0.3s ease;
957}
958
959.np-header__menu-item--dropdown:hover .np-header__dropdown-icon,
960.np-header__menu-item--dropdown:focus-within .np-header__dropdown-icon,
961.np-header__menu-item--dropdown.np-header__menu-item--open .np-header__dropdown-icon {
962  transform: rotate(180deg);
963}
964
965/* =====================================================================
966   DROPDOWN DESIGN SYSTEM (unified across AI, Modules, Integrations,
967   Solutions, Pricing, Resources, Connect)
968
969   Typography scale
970     - Group eyebrow:        11px / 600 / uppercase / letter-spacing 0.6px / #8b8fa3
971     - Item label / title:   14px / 500–600 / line-height 1.3 / #212121
972     - Item description:     12px / 400 / line-height 1.45 / #6b7280
973     - Sub item (group child):  13px / 400 / line-height 1.3 / #5a5e7a
974
975   Spacing scale
976     - Panel padding:        12px (single col) / 14px (multi col)
977     - Item padding:         10px 14px
978     - Item radius:          8px
979     - Row gap:              2px
980     - Column gap:           18px
981     - Top offset under trigger: 10px
982
983   Hover/focus state (uniform)
984     - Background:           #f5f4ff
985     - Color:                #5f59f0
986     - Transition:           background 150ms ease, color 150ms ease
987     - No padding shift on hover (avoids jitter)
988   ===================================================================== */
989
990.np-header__dropdown {
991  position: absolute;
992  top: 100%;
993  left: 50%;
994  transform: translateX(-50%);
995  min-width: 300px;
996  background: #ffffff;
997  border-radius: 12px;
998  border-bottom: 2px solid #5f59f0;
999  box-shadow: 0 8px 28px rgba(31, 35, 67, 0.08), 0 2px 6px rgba(31, 35, 67, 0.04);
1000  padding: 12px;
1001  margin-top: 10px;
1002  opacity: 0;
1003  visibility: hidden;
1004  pointer-events: none;
1005  transition: opacity 0.2s ease, visibility 0.2s ease;
1006  z-index: 10060;
1007  box-sizing: border-box;
1008  /* Default stack for panel text; Integrations also gets boosted rules below for nested links. */
1009  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
1010}
1011
1012/* Hover bridge: closes the gap between trigger and panel so the cursor
1013   can travel down without losing hover state. */
1014.np-header__dropdown::before {
1015  content: "";
1016  position: absolute;
1017  left: 0;
1018  right: 0;
1019  top: -12px;
1020  height: 12px;
1021}
1022
1023.np-header__menu-item--dropdown:hover .np-header__dropdown,
1024.np-header__menu-item--dropdown:focus-within .np-header__dropdown,
1025.np-header__menu-item--dropdown.np-header__menu-item--hovered .np-header__dropdown,
1026.np-header__menu-item--dropdown.np-header__menu-item--open .np-header__dropdown {
1027  opacity: 1 !important;
1028  visibility: visible !important;
1029  pointer-events: auto !important;
1030}
1031
1032/* ----- Multi-column panels (Integrations, Solutions, Resources, Modules) ----- */
1033.np-header__dropdown--wide,
1034.np-header__dropdown--cols {
1035  display: grid;
1036  grid-template-columns: 1fr 1fr;
1037  column-gap: 18px;
1038  row-gap: 2px;
1039  min-width: min(560px, calc(100vw - 48px));
1040  max-width: 640px;
1041  padding: 14px;
1042}
1043
1044/* ----- Sectioned panel (Integrations: group eyebrow + sub items) ----- */
1045.np-header__dropdown-section {
1046  display: flex;
1047  flex-direction: column;
1048  gap: 2px;
1049  min-width: 0;
1050}
1051
1052/* ----- Item: base style shared by all dropdown links ----- */
1053.np-header__dropdown-item,
1054.np-header__dropdown-subitem {
1055  display: block;
1056  padding: 10px 14px;
1057  font-family: 'Inter', Arial, sans-serif;
1058  font-size: 14px;
1059  font-weight: 500;
1060  line-height: 1.3;
1061  color: #212121 !important;
1062  text-decoration: none;
1063  border-radius: 8px;
1064  transition: background-color 150ms ease, color 150ms ease;
1065}
1066
1067.np-header__dropdown-item:hover,
1068.np-header__dropdown-subitem:hover {
1069  background: #f5f4ff;
1070  color: #5f59f0 !important;
1071}
1072
1073/* Sub-items under a group eyebrow (Integrations, Modules mega-menu).
1074   Slightly smaller and muted. */
1075.np-header__dropdown-subitem {
1076  font-size: 13px;
1077  font-weight: 400;
1078  color: #5a5e7a !important;
1079}
1080
1081.np-header__dropdown-subitem:hover {
1082  color: #5f59f0 !important;
1083}
1084
1085/* Integrations panel: blog themes often set header/nav anchors to a marketing serif —
1086   keep the same sans stack as the rest of #np-header (scoped; does not touch other dropdowns). */
1087#np-header.np-header .np-header__dropdown--integrations,
1088#np-header.np-header .np-header__dropdown--integrations .np-header__dropdown-section {
1089  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
1090}
1091
1092#np-header.np-header .np-header__dropdown--integrations a.np-header__dropdown-subitem,
1093#np-header.np-header .np-header__dropdown--integrations a.np-header__dropdown-item--integrations-hub {
1094  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
1095  font-style: normal;
1096}
1097
1098/* ----- Item title + description (most dropdowns: AI, Solutions, Pricing, Resources, Connect) ----- */
1099.np-header__dropdown-item-title {
1100  font-size: 14px;
1101  font-weight: 600;
1102  line-height: 1.3;
1103  color: #212121;
1104  margin-bottom: 2px;
1105}
1106
1107.np-header__dropdown-item-desc {
1108  font-size: 12px;
1109  font-weight: 400;
1110  line-height: 1.45;
1111  color: #6b7280;
1112}
1113
1114/* When an item has both a title and a description, the title color is driven by
1115   the wrapper hover state so both stay in sync. */
1116.np-header__dropdown-item:hover .np-header__dropdown-item-title {
1117  color: #5f59f0;
1118}
1119
1120.np-header__dropdown-item:hover .np-header__dropdown-item-desc {
1121  color: #5a5e7a;
1122}
1123
1124/* ----- Integrations hub rows (QuickBooks / Xero): same 14px/600 title as AI/Solutions; row uses unified hover, title stays #212121 ----- */
1125.np-header__dropdown-item--integrations-hub .np-header__dropdown-item-title {
1126  margin-bottom: 0;
1127}
1128
1129#np-header.np-header .np-header__dropdown-item--integrations-hub:hover,
1130#np-header.np-header .np-header__dropdown-item--integrations-hub:focus-visible {
1131  background: #f5f4ff;
1132  color: #212121 !important;
1133}
1134
1135#np-header.np-header .np-header__dropdown-item--integrations-hub:hover .np-header__dropdown-item-title,
1136#np-header.np-header .np-header__dropdown-item--integrations-hub:focus-visible .np-header__dropdown-item-title {
1137  color: #212121 !important;
1138}
1139
1140#np-header.np-header .np-header__dropdown-item--integrations-hub:visited,
1141#np-header.np-header .np-header__dropdown-item--integrations-hub:visited .np-header__dropdown-item-title {
1142  color: #212121 !important;
1143}
1144
1145/* ----- Modules mega-menu (flat columns — hub + children, no hover flyout) ----- */
1146.np-header__dropdown--modules {
1147  min-width: min(680px, calc(100vw - 48px));
1148  max-width: 760px;
1149  row-gap: 14px;
1150}
1151
1152#np-header.np-header .np-header__dropdown--modules,
1153#np-header.np-header .np-header__dropdown--modules .np-header__dropdown-section {
1154  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
1155}
1156
1157#np-header.np-header .np-header__dropdown--modules a.np-header__dropdown-subitem,
1158#np-header.np-header .np-header__dropdown--modules a.np-header__dropdown-item--module-hub {
1159  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
1160  font-style: normal;
1161}
1162
1163.np-header__dropdown-item--module-hub .np-header__dropdown-item-title {
1164  margin-bottom: 0;
1165}
1166
1167#np-header.np-header .np-header__dropdown-item--module-hub:hover,
1168#np-header.np-header .np-header__dropdown-item--module-hub:focus-visible {
1169  background: #f5f4ff;
1170  color: #212121 !important;
1171}
1172
1173#np-header.np-header .np-header__dropdown-item--module-hub:hover .np-header__dropdown-item-title,
1174#np-header.np-header .np-header__dropdown-item--module-hub:focus-visible .np-header__dropdown-item-title {
1175  color: #212121 !important;
1176}
1177
1178#np-header.np-header .np-header__dropdown-item--module-hub:visited,
1179#np-header.np-header .np-header__dropdown-item--module-hub:visited .np-header__dropdown-item-title {
1180  color: #212121 !important;
1181}
1182
1183/* ----- Non-clickable items ----- */
1184.np-header__dropdown-item--no-link {
1185  cursor: default;
1186}
1187
1188.np-header__dropdown-item--no-link:hover {
1189  background: transparent;
1190  color: #212121 !important;
1191}
1192
1193.np-header__dropdown-item--no-link:hover .np-header__dropdown-item-title {
1194  color: #212121;
1195}
1196
1197.np-mobile-link--no-link {
1198  cursor: default;
1199  color: #5a5e7a !important;
1200}
1201
1202/* Action Buttons — stay below nav in z-order so dropdowns can overlap CTAs */
1203.np-header__actions {
1204  position: relative;
1205  z-index: 1;
1206  display: flex;
1207  align-items: center;
1208  gap: 12px;
1209  margin-left: 0 !important;
1210  justify-self: end;
1211  justify-content: flex-end;
1212  min-width: max-content;
1213}
1214
1215.np-header__btn {
1216  display: inline-block;
1217  padding: 10px 24px;
1218  font-family: 'Inter', Arial, sans-serif;
1219  font-size: 14px;
1220  font-weight: 500;
1221  text-decoration: none;
1222  border-radius: 20px;
1223  transition: all 0.2s ease;
1224  white-space: nowrap;
1225}
1226
1227.np-header__btn--secondary {
1228  color: #5f59f0 !important;
1229  background-color: transparent !important;
1230  border: 1.5px solid #5f59f0 !important;
1231  padding: 8.5px 22px;
1232}
1233
1234.np-header__btn--secondary:hover {
1235  color: #ffffff !important;
1236  background-color: #5f59f0 !important;
1237  box-shadow: 0 4px 12px rgba(95, 89, 240, 0.2) !important;
1238}
1239
1240.np-header__btn--primary {
1241  color: #ffffff !important;
1242  background-color: #5f59f0 !important;
1243  border: none !important;
1244}
1245
1246.np-header__btn--primary:hover {
1247  background-color: #4f49e6 !important;
1248  box-shadow: 0 4px 12px rgba(95, 89, 240, 0.3) !important;
1249  transform: translateY(-1px);
1250}
1251
1252/* Small Login text link — sits before the action buttons, not a button itself */
1253.np-header__login-link {
1254  font-family: 'Inter', Arial, sans-serif;
1255  font-size: 13px;
1256  font-weight: 400;
1257  color: #888888 !important;
1258  text-decoration: none;
1259  white-space: nowrap;
1260  transition: color 0.2s ease;
1261}
1262
1263.np-header__login-link:hover {
1264  color: #5f59f0 !important;
1265}
1266
1267/* Mobile Toggle */
1268.np-header__mobile-toggle {
1269  display: flex !important;
1270  flex-direction: column;
1271  justify-content: space-between;
1272  width: 28px;
1273  height: 20px;
1274  background: none;
1275  border: none;
1276  cursor: pointer;
1277  padding: 0;
1278  box-sizing: border-box !important;
1279}
1280
1281.np-header__mobile-toggle span {
1282  display: block !important;
1283  width: 100%;
1284  height: 3px;
1285  background-color: #3d2e7c;
1286  border-radius: 2px;
1287  transition: all 0.3s ease;
1288  box-sizing: border-box !important;
1289}
1290
1291.np-header__mobile-toggle[aria-expanded="true"] span:nth-child(1) {
1292  transform: rotate(45deg) translate(6px, 6px);
1293}
1294
1295.np-header__mobile-toggle[aria-expanded="true"] span:nth-child(2) {
1296  opacity: 0;
1297}
1298
1299.np-header__mobile-toggle[aria-expanded="true"] span:nth-child(3) {
1300  transform: rotate(-45deg) translate(6px, -6px);
1301}
1302
1303/* Mobile Menu — scrolls internally under the fixed 58px bar; dvh keeps the
1304   full list reachable when mobile browser chrome shrinks the viewport. */
1305.np-header__mobile-menu {
1306  display: none;
1307  background-color: #ffffff;
1308  border-top: 1px solid #e5e7eb;
1309  max-height: calc(100vh - 58px);
1310  max-height: calc(100dvh - 58px);
1311  overflow-y: auto;
1312  -webkit-overflow-scrolling: touch;
1313  overscroll-behavior: contain;
1314}
1315
1316.np-header__mobile-menu.active {
1317  display: block;
1318}
1319
1320.np-header__mobile-nav {
1321  padding: 16px 20px;
1322  display: block !important;
1323}
1324
1325/* Mobile Menu Sections */
1326.np-mobile-section {
1327  border-bottom: 1px solid #e5e7eb;
1328  display: block !important;
1329}
1330
1331.np-mobile-section__toggle {
1332  width: 100% !important;
1333  display: flex !important;
1334  justify-content: space-between;
1335  align-items: center;
1336  padding: 16px 0;
1337  font-family: 'Inter', Arial, sans-serif;
1338  font-size: 16px !important;
1339  font-weight: 500;
1340  color: #1f2343 !important;
1341  background: none;
1342  border: none;
1343  cursor: pointer;
1344  text-align: left;
1345}
1346
1347.np-mobile-section__icon {
1348  transition: transform 0.3s ease;
1349}
1350
1351.np-mobile-section__toggle[aria-expanded="true"] .np-mobile-section__icon {
1352  transform: rotate(180deg);
1353}
1354
1355.np-mobile-section__content {
1356  display: none;
1357  padding-bottom: 16px;
1358}
1359
1360.np-mobile-section__content.active {
1361  display: block;
1362}
1363
1364.np-mobile-section__subtitle {
1365  display: block;
1366  font-family: 'Inter', Arial, sans-serif;
1367  font-size: 12px;
1368  font-weight: 600;
1369  color: #8b8fa3;
1370  text-transform: uppercase;
1371  letter-spacing: 0.5px;
1372  padding: 12px 0 8px;
1373  margin-top: 8px;
1374}
1375
1376.np-mobile-section__subtitle:first-child {
1377  margin-top: 0;
1378  padding-top: 0;
1379}
1380
1381.np-mobile-link {
1382  display: block !important;
1383  padding: 12px 0;
1384  font-family: 'Inter', Arial, sans-serif;
1385  font-size: 15px !important;
1386  color: #5a5e7a !important;
1387  text-decoration: none !important;
1388  transition: color 0.2s ease;
1389}
1390
1391.np-mobile-link:hover,
1392.np-mobile-link:active {
1393  color: #5f59f0 !important;
1394}
1395
1396.np-mobile-link--sub {
1397  padding-left: 16px;
1398  font-size: 14px;
1399}
1400
1401.np-mobile-link--top {
1402  display: block;
1403  padding: 16px 0;
1404  font-family: 'Inter', Arial, sans-serif;
1405  font-size: 16px;
1406  font-weight: 500;
1407  color: #1f2343 !important;
1408  text-decoration: none !important;
1409  border-bottom: 1px solid #e5e7eb;
1410}
1411
1412@media (min-width: 380px) {
1413  .np-mobile-section__content--cols {
1414    display: none;
1415  }
1416
1417  .np-mobile-section__content--cols.active {
1418    display: grid;
1419    grid-template-columns: 1fr 1fr;
1420    column-gap: 12px;
1421    align-items: stretch;
1422  }
1423
1424  .np-mobile-section__content--cols > .np-mobile-link:first-child {
1425    grid-column: 1 / -1;
1426  }
1427
1428  .np-mobile-section__content--cols > .np-mobile-link {
1429    min-height: 44px;
1430    display: flex !important;
1431    align-items: center;
1432    padding-top: 10px;
1433    padding-bottom: 10px;
1434    box-sizing: border-box;
1435  }
1436
1437  .np-mobile-section__content--cols > .np-mobile-link.np-mobile-link--sub {
1438    padding-left: 10px;
1439  }
1440}
1441
1442/* Mobile CTA Buttons */
1443.np-mobile-cta {
1444  display: flex;
1445  flex-direction: column;
1446  gap: 12px;
1447  padding-top: 20px;
1448  margin-top: 8px;
1449}
1450
1451.np-mobile-cta__btn {
1452  display: block;
1453  padding: 14px 24px;
1454  font-family: 'Inter', Arial, sans-serif;
1455  font-size: 15px;
1456  font-weight: 600;
1457  text-align: center;
1458  text-decoration: none !important;
1459  border-radius: 30px;
1460  transition: all 0.2s ease;
1461}
1462
1463.np-mobile-cta__btn--secondary {
1464  color: #5f59f0 !important;
1465  background: transparent;
1466  border: 1.5px solid #5f59f0;
1467}
1468
1469.np-mobile-cta__btn--secondary:hover {
1470  color: #ffffff !important;
1471  background: #5f59f0;
1472}
1473
1474.np-mobile-cta__btn--primary {
1475  color: #ffffff !important;
1476  background: #5f59f0;
1477}
1478
1479.np-mobile-cta__btn--primary:hover {
1480  background: #4f49e6;
1481}
1482
1483/* Small login text link at the bottom of mobile CTA stack */
1484.np-mobile-cta__login-link {
1485  display: block;
1486  text-align: center;
1487  font-family: 'Inter', Arial, sans-serif;
1488  font-size: 13px;
1489  font-weight: 400;
1490  color: #888888 !important;
1491  text-decoration: none;
1492  padding: 4px 0;
1493  transition: color 0.2s ease;
1494}
1495
1496.np-mobile-cta__login-link:hover {
1497  color: #5f59f0 !important;
1498}
1499
1500/* Desktop Breakpoint — top-level nav + Start Free + Book a Demo need ~1200px to breathe */
1501@media (min-width: 1200px) {
1502  .np-header__nav {
1503    display: block !important;
1504  }
1505
1506  .np-header__actions {
1507    display: flex !important;
1508  }
1509
1510  .np-header__mobile-toggle {
1511    display: none !important;
1512  }
1513}
1514
1515/* Narrow-desktop band (1200–1359px): slightly tighter spacing so the menu fits without cramping */
1516@media (min-width: 1200px) and (max-width: 1359px) {
1517  .np-header__menu { gap: 14px; }
1518  .np-header__menu-link { font-size: 15px; }
1519  .np-header__container { padding: 10px 16px !important; }
1520  .np-header__logo img { height: 42px; }
1521}
1522
1523/* Tablet and Mobile (anything narrower than 1200px gets the hamburger). */
1524/* The sticky bar keeps an always-visible conversion CTA so it never hides behind
1525   the hamburger: Book a Demo (primary) shows on every width, Start Free (secondary)
1526   joins it once there is room (>=600px). The mobile menu still carries the full
1527   CTA stack (.np-mobile-cta). */
1528@media (max-width: 1199px) {
1529  .np-header {
1530    height: 58px;
1531  }
1532
1533  /* Switch to flex so logo pins left and CTAs + hamburger group at the right. */
1534  .np-header__container {
1535    display: flex !important;
1536    align-items: center;
1537    padding: 6px 14px !important;
1538    column-gap: 10px;
1539  }
1540
1541  .np-header__logo {
1542    margin-right: auto;
1543    min-width: 0;
1544  }
1545
1546  .np-header__logo img {
1547    height: 34px;
1548  }
1549
1550  /* Reveal the CTAs in the compact bar. */
1551  .np-header__actions {
1552    display: flex !important;
1553    gap: 8px;
1554    min-width: 0;
1555    flex-shrink: 0;
1556  }
1557
1558  /* Login stays in the mobile menu, not the compact bar. */
1559  .np-header__login-link {
1560    display: none;
1561  }
1562
1563  .np-header__actions .np-header__btn {
1564    padding: 8px 16px;
1565    font-size: 13px;
1566    border-radius: 18px;
1567    min-height: 44px;
1568    display: inline-flex;
1569    align-items: center;
1570    justify-content: center;
1571  }
1572
1573  .np-header__actions .np-header__btn--secondary {
1574    padding: 6.5px 14px;
1575  }
1576
1577  .np-header__menu {
1578    gap: 20px;
1579  }
1580
1581  .np-header__mobile-toggle {
1582    flex-shrink: 0;
1583    min-width: 44px;
1584    min-height: 44px;
1585    padding: 12px 8px;
1586    justify-content: center;
1587    gap: 5px;
1588  }
1589}
1590
1591/* Small phones: keep just the Book a Demo CTA beside the hamburger. */
1592@media (max-width: 599px) {
1593  .np-header__actions .np-header__btn--secondary {
1594    display: none;
1595  }
1596}
1597
1598/* Very narrow phones: trim padding so the logo + CTA + hamburger never crowd. */
1599@media (max-width: 360px) {
1600  .np-header__container {
1601    padding: 6px 10px !important;
1602    column-gap: 8px;
1603  }
1604
1605  .np-header__logo img {
1606    height: 30px;
1607  }
1608
1609  .np-header__actions .np-header__btn--primary {
1610    padding: 6.5px 12px;
1611  }
1612}
1613
1614@media (prefers-reduced-motion: reduce) {
1615  .np-header,
1616  .np-header__menu-link,
1617  .np-header__dropdown,
1618  .np-header__dropdown-icon,
1619  .np-header__btn,
1620  .np-header__login-link,
1621  .np-header__mobile-toggle span,
1622  .np-mobile-section__icon,
1623  .np-mobile-link,
1624  .np-mobile-cta__btn,
1625  .np-mobile-cta__login-link {
1626    transition: none !important;
1627  }
1628}
1629</style>
1630
1631<script>
1632// Header Sticky Scroll Effect & Dropdown Handling
1633document.addEventListener('DOMContentLoaded', function() {
1634  const header = document.getElementById('np-header');
1635  const mobileToggle = document.querySelector('.np-header__mobile-toggle');
1636  const mobileMenu = document.querySelector('.np-header__mobile-menu');
1637  const desktopDropdowns = document.querySelectorAll('#np-header .np-header__menu-item--dropdown');
1638  const mobileSections = document.querySelectorAll('.np-mobile-section__toggle');
1639
1640  function isDesktopNav() {
1641    return window.matchMedia('(min-width: 1200px)').matches;
1642  }
1643
1644  function isFineHover() {
1645    return window.matchMedia('(hover: hover) and (pointer: fine)').matches;
1646  }
1647
1648  function setDropdownExpanded(item, expanded) {
1649    const trigger = item.querySelector('.np-header__menu-link');
1650    item.classList.toggle('np-header__menu-item--open', expanded);
1651    item.classList.toggle('np-header__menu-item--hovered', expanded);
1652    if (trigger) trigger.setAttribute('aria-expanded', String(expanded));
1653  }
1654
1655  function closeDesktopDropdowns(exceptItem) {
1656    desktopDropdowns.forEach(item => {
1657      if (item !== exceptItem) setDropdownExpanded(item, false);
1658    });
1659  }
1660
1661  function closeMobileSections() {
1662    mobileSections.forEach(toggle => {
1663      toggle.setAttribute('aria-expanded', 'false');
1664      if (toggle.nextElementSibling) {
1665        toggle.nextElementSibling.classList.remove('active');
1666      }
1667    });
1668  }
1669
1670  let mobileMenuScrollY = 0;
1671
1672  function lockBodyScroll() {
1673    mobileMenuScrollY = window.scrollY || window.pageYOffset || 0;
1674    document.body.style.overflow = 'hidden';
1675    document.body.style.position = 'fixed';
1676    document.body.style.top = `-${mobileMenuScrollY}px`;
1677    document.body.style.left = '0';
1678    document.body.style.right = '0';
1679    document.body.style.width = '100%';
1680  }
1681
1682  function unlockBodyScroll() {
1683    const wasLocked = document.body.style.position === 'fixed';
1684    const scrollY = mobileMenuScrollY;
1685    document.body.style.overflow = '';
1686    document.body.style.position = '';
1687    document.body.style.top = '';
1688    document.body.style.left = '';
1689    document.body.style.right = '';
1690    document.body.style.width = '';
1691    if (wasLocked) {
1692      window.scrollTo(0, scrollY);
1693    }
1694  }
1695
1696  function closeMobileMenu() {
1697    if (!mobileToggle || !mobileMenu) return;
1698    const wasOpen =
1699      mobileToggle.getAttribute('aria-expanded') === 'true' ||
1700      mobileMenu.classList.contains('active');
1701    mobileToggle.setAttribute('aria-expanded', 'false');
1702    mobileMenu.classList.remove('active');
1703    closeMobileSections();
1704    if (wasOpen) {
1705      unlockBodyScroll();
1706    }
1707  }
1708
1709  // Sticky header scroll effect
1710  window.addEventListener('scroll', function() {
1711    if (window.scrollY > 50) {
1712      header.classList.add('np-header--scrolled');
1713    } else {
1714      header.classList.remove('np-header--scrolled');
1715    }
1716  });
1717  
1718  // Mobile menu toggle
1719  if (mobileToggle && mobileMenu) {
1720    mobileToggle.addEventListener('click', function() {
1721      const isExpanded = mobileToggle.getAttribute('aria-expanded') === 'true';
1722      closeDesktopDropdowns();
1723      mobileToggle.setAttribute('aria-expanded', String(!isExpanded));
1724      mobileMenu.classList.toggle('active', !isExpanded);
1725      
1726      // Prevent body scroll when menu is open (position:fixed keeps iOS from scrolling through)
1727      if (isExpanded) {
1728        unlockBodyScroll();
1729      } else {
1730        lockBodyScroll();
1731      }
1732    });
1733
1734    mobileMenu.querySelectorAll('a').forEach(link => {
1735      link.addEventListener('click', closeMobileMenu);
1736    });
1737  }
1738
1739  // Mobile accordion sections (single-open: collapse siblings)
1740  mobileSections.forEach(toggle => {
1741    toggle.addEventListener('click', function() {
1742      const isExpanded = this.getAttribute('aria-expanded') === 'true';
1743      const content = this.nextElementSibling;
1744
1745      if (!isExpanded) {
1746        mobileSections.forEach(other => {
1747          if (other !== this && other.getAttribute('aria-expanded') === 'true') {
1748            other.setAttribute('aria-expanded', 'false');
1749            other.nextElementSibling.classList.remove('active');
1750          }
1751        });
1752      }
1753
1754      this.setAttribute('aria-expanded', String(!isExpanded));
1755      content.classList.toggle('active', !isExpanded);
1756    });
1757  });
1758
1759  desktopDropdowns.forEach(item => {
1760    const trigger = item.querySelector('.np-header__menu-link');
1761
1762    item.addEventListener('mouseenter', function() {
1763      if (!isFineHover()) return;
1764      closeDesktopDropdowns(this);
1765      setDropdownExpanded(this, true);
1766    });
1767    
1768    item.addEventListener('mouseleave', function() {
1769      if (!isFineHover()) return;
1770      setDropdownExpanded(this, false);
1771    });
1772
1773    item.addEventListener('focusin', function() {
1774      closeDesktopDropdowns(this);
1775      setDropdownExpanded(this, true);
1776    });
1777
1778    item.addEventListener('focusout', function() {
1779      window.setTimeout(() => {
1780        if (!this.contains(document.activeElement)) {
1781          setDropdownExpanded(this, false);
1782        }
1783      }, 0);
1784    });
1785
1786    if (trigger) {
1787      trigger.addEventListener('click', function(e) {
1788        const isPlaceholder = this.getAttribute('href') === '#';
1789        const shouldToggle = !isFineHover();
1790
1791        if (isPlaceholder) {
1792          e.preventDefault();
1793        }
1794
1795        if (!shouldToggle) {
1796          if (isPlaceholder) setDropdownExpanded(item, true);
1797          return;
1798        }
1799
1800        const isExpanded = this.getAttribute('aria-expanded') === 'true';
1801        closeDesktopDropdowns(item);
1802        setDropdownExpanded(item, !isExpanded);
1803      });
1804    }
1805  });
1806
1807  document.addEventListener('click', function(e) {
1808    if (header && !header.contains(e.target)) {
1809      closeDesktopDropdowns();
1810      closeMobileMenu();
1811    }
1812  });
1813
1814  document.addEventListener('keydown', function(e) {
1815    if (e.key !== 'Escape') return;
1816
1817    closeDesktopDropdowns();
1818    closeMobileMenu();
1819    if (document.activeElement && header && header.contains(document.activeElement)) {
1820      document.activeElement.blur();
1821    }
1822  });
1823
1824  window.addEventListener('resize', function() {
1825    if (isDesktopNav()) {
1826      closeMobileMenu();
1827    } else {
1828      closeDesktopDropdowns();
1829    }
1830  });
1831
1832});
1833</script>
1833
1834
1835  <div class="np-site-wrapper">
1836    <main class="tiktok-shop-to-quickbooks-page">
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875<div class="np-hero">
1876  <div class="np-hero-container">
1877    <div class="np-hero-content">
1878      <span class="np-integration-hero__eyebrow">Integration · TikTok to QuickBooks</span>
1879      <h1 class="np-hero-headline">TikTok Shop to QuickBooks Integration: Automated Settlement Accounting</h1>
1880      <p class="np-hero-description np-hero-description--ledger-deck">The TikTok Shop to QuickBooks integration built for real P&L — NeonPanel maps every payout into QuickBooks Online journals with FIFO COGS, fee mapping, and deposit-level reconciliation.</p>
1881      
1882      
1883      
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893<p class="np-hero-ledger-sub">Unified system</p>
1894
1895<ul class="np-hero-ledger-pills" role="list" aria-label="Unified system on the same ledger">
1896  <li data-ledger-pill="accounting"><span class="np-hero-ledger-pills__text">Accounting</span></li><li data-ledger-pill="inventory"><span class="np-hero-ledger-pills__text">Inventory</span></li><li data-ledger-pill="forecasting"><span class="np-hero-ledger-pills__text">Forecasting</span></li><li data-ledger-pill="ai"><span class="np-hero-ledger-pills__text">AI access</span></li></ul>
1897
1898      
1899      
1900      
1901      
1902      <div class="np-hero-actions">
1903        
1904        
1905        
1906        
1907        
1908        
1909        
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920<div class="np-hero-cta-buttons">
1921  <div class="np-hero-cta-buttons__row">
1922    <a href="https://www.neonpanel.com/meetings/michael-sorochev/neonpanel-discovery-and-demo" class="np-hero-cta-buttons__btn np-hero-cta-buttons__btn--primary" data-np-source="integrations_tiktok-shop-to-quickbooks_hero_book-demo">Book a Demo</a>
1923    
1924    <a href="https://my.neonpanel.com/register" class="np-hero-cta-buttons__btn np-hero-cta-buttons__btn--outline" data-np-source="integrations_tiktok-shop-to-quickbooks_hero_start-free">Start Free</a>
1925    
1926  </div>
1927  
1928  <p class="np-hero-cta-buttons__note"><strong>14-Day Free Trial.</strong> No Card Required. Cancel Anytime</p>
1929  
1930</div>
1931
1932      </div>
1933    </div>
1934    
1935    <div class="np-hero-visual">
1936      
1937      <div class="np-hero-integration-badge">
1938        
1939        <div class="np-hero-icon-wrapper">
1940          <img src="/images/website_integrations_tiktok.webp" alt="TikTok Shop logo" width="120" height="68" class="np-hero-platform-icon" decoding="async">
1941        </div>
1942        
1943        
1944        
1945        <div class="np-hero-sync-arrow">
1946          <svg width="40" height="24" viewBox="0 0 40 24" fill="none">
1947            <path d="M2 12h36M28 4l8 8-8 8" stroke="#5F59F0" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
1948          </svg>
1949        </div>
1950        
1951        
1952        
1953        <div class="np-hero-icon-wrapper">
1954          <img src="/images/website_integrations_quickbooks_logo.webp" alt="QuickBooks logo" width="120" height="68" class="np-hero-accounting-icon" decoding="async">
1955        </div>
1956        
1957      </div>
1958      
1959      
1960      
1961      <div class="np-hero-features-preview">
1962        <div class="np-hero-feature-item">
1963          <div class="np-hero-feature-icon">
1964            <svg width="32" height="32" viewBox="0 0 32 32" fill="none">
1965              <rect x="4" y="8" width="4" height="16" rx="1" fill="#5F59F0"/>
1966              <rect x="10" y="12" width="4" height="12" rx="1" fill="#5F59F0"/>
1967              <rect x="16" y="6" width="4" height="18" rx="1" fill="#5F59F0"/>
1968              <rect x="22" y="10" width="4" height="14" rx="1" fill="#5F59F0"/>
1969            </svg>
1970          </div>
1971          <div class="np-hero-feature-text">
1972            <div class="np-hero-feature-title">Accurate COGS</div>
1973            <div class="np-hero-feature-desc">Automated calculation</div>
1974          </div>
1975        </div>
1976        <div class="np-hero-feature-item">
1977          <div class="np-hero-feature-icon">
1978            <svg width="32" height="32" viewBox="0 0 32 32" fill="none">
1979              <circle cx="16" cy="16" r="11" stroke="#5F59F0" stroke-width="2" fill="none"/>
1980              <path d="M16 8v8l5 3" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
1981            </svg>
1982          </div>
1983          <div class="np-hero-feature-text">
1984            <div class="np-hero-feature-title">Real-Time Sync</div>
1985            <div class="np-hero-feature-desc">Continuous updates</div>
1986          </div>
1987        </div>
1988        <div class="np-hero-feature-item">
1989          <div class="np-hero-feature-icon">
1990            <svg width="32" height="32" viewBox="0 0 32 32" fill="none">
1991              <path d="M6 16l6 6L26 8" stroke="#48BB78" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
1992              <circle cx="16" cy="16" r="14" stroke="#48BB78" stroke-width="1.5" fill="none"/>
1993            </svg>
1994          </div>
1995          <div class="np-hero-feature-text">
1996            <div class="np-hero-feature-title">Tax Compliant</div>
1997            <div class="np-hero-feature-desc">Audit-ready books</div>
1998          </div>
1999        </div>
2000      </div>
2001      
2002    </div>
2003  </div>
2004</div>
2005
2006<style>
2007  .np-hero {
2008    padding: 100px 20px 60px;
2009    background: linear-gradient(135deg, #F7F7FE 0%, #FFFFFF 100%);
2010    border-bottom: 1px solid #E5E7EB;
2011  }
2012  
2013  .np-hero-container {
2014    max-width: 1200px;
2015    margin: 0 auto;
2016    display: grid;
2017    grid-template-columns: 1fr 1fr;
2018    gap: 60px;
2019    align-items: start;
2020  }
2021
2022  /* Product screenshot column: vertically center with the taller copy column */
2023  .np-hero--product-shot .np-hero-container {
2024    align-items: center;
2025  }
2026
2027  .np-hero--product-shot .np-hero-visual {
2028    margin-top: 0;
2029    align-self: center;
2030    justify-content: center;
2031  }
2032  
2033  .np-hero-content {
2034    padding-bottom: 60px;
2035    max-width: 560px;
2036    text-align: left;
2037  }
2038  
2039  .np-integration-hero__eyebrow {
2040    display: inline-block;
2041    font-size: 13px;
2042    font-weight: 600;
2043    letter-spacing: 0.06em;
2044    text-transform: uppercase;
2045    color: #5f59f0;
2046    margin: 0 0 14px;
2047    font-family: 'Inter', Arial, sans-serif;
2048  }
2049
2050  .np-hero-headline {
2051    /* ~560px copy rail: keep integration heroes to ~2 lines on desktop */
2052    font-size: 44px;
2053    font-weight: 700;
2054    color: #1a202c;
2055    margin: 0 0 20px 0;
2056    line-height: 1.15;
2057    font-family: 'Inter', Arial, sans-serif;
2058    text-align: left;
2059  }
2060  
2061  .np-hero-description {
2062    font-size: 20px;
2063    color: #4a5568;
2064    margin: 0 0 32px 0;
2065    line-height: 1.6;
2066    font-family: 'Inter', Arial, sans-serif;
2067    text-align: left;
2068  }
2069
2070  .np-hero-actions {
2071    display: flex;
2072    flex-direction: column;
2073    align-items: flex-start;
2074  }
2075
2076  .np-hero-description.np-hero-description--ledger-deck {
2077    margin-bottom: 0 !important;
2078  }
2079  
2080  .np-hero-benefits {
2081    display: inline-flex;
2082    flex-direction: column;
2083    gap: 16px;
2084    margin-bottom: 32px;
2085    align-items: flex-start;
2086    text-align: left;
2087  }
2088  
2089  .np-hero-benefit {
2090    display: flex;
2091    align-items: center;
2092    gap: 12px;
2093    font-size: 16px;
2094    color: #2d3748;
2095    font-family: 'Inter', Arial, sans-serif;
2096    text-align: left;
2097  }
2098  
2099  .np-hero-check {
2100    flex-shrink: 0;
2101  }
2102  
2103  .np-hero-visual {
2104    margin-top: -40px;
2105    display: flex;
2106    flex-direction: column;
2107    gap: 20px;
2108  }
2109
2110  .np-hero-product-shot {
2111    border-radius: 20px;
2112    overflow: hidden;
2113    box-shadow: 0 22px 70px rgba(22, 19, 95, 0.18);
2114    background: #f8f9fb;
2115    width: 100%;
2116    max-width: 560px;
2117    margin-left: auto;
2118    margin-right: auto;
2119  }
2120  .np-hero-product-shot__img {
2121    width: 100%;
2122    height: auto;
2123    display: block;
2124    vertical-align: middle;
2125  }
2126  
2127  .np-hero-integration-badge {
2128    background: transparent;
2129    border-radius: 16px;
2130    padding: 20px;
2131    box-shadow: none;
2132    display: flex;
2133    align-items: center;
2134    justify-content: center;
2135    gap: 24px;
2136  }
2137  
2138  .np-hero-icon-wrapper {
2139    width: 160px !important;
2140    height: 160px !important;
2141    display: flex;
2142    align-items: center;
2143    justify-content: center;
2144    background: #F7F7FE;
2145    border-radius: 16px;
2146    padding: 10px !important;
2147    flex-shrink: 0;
2148  }
2149  
2150  .np-hero-platform-icon,
2151  .np-hero-accounting-icon {
2152    width: 100% !important;
2153    height: 100% !important;
2154    max-width: 100% !important;
2155    max-height: 100% !important;
2156    object-fit: contain !important;
2157  }
2158  
2159  .np-hero-icon-placeholder {
2160    width: 60px;
2161    height: 60px;
2162    background: linear-gradient(135deg, #5f59f0 0%, #7c77ff 100%);
2163    border-radius: 8px;
2164    display: flex;
2165    align-items: center;
2166    justify-content: center;
2167    font-size: 32px;
2168    font-weight: 700;
2169    color: #ffffff;
2170    font-family: 'Inter', Arial, sans-serif;
2171  }
2172  
2173  .np-hero-sync-arrow {
2174    flex-shrink: 0;
2175    display: flex;
2176    align-items: center;
2177    align-self: center;
2178  }
2179  
2180  .np-hero-features-preview {
2181    display: flex;
2182    flex-direction: column;
2183    gap: 16px;
2184  }
2185  
2186  .np-hero-feature-item {
2187    background: #ffffff;
2188    border-radius: 12px;
2189    padding: 20px;
2190    display: flex;
2191    align-items: start;
2192    gap: 16px;
2193    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
2194    transition: transform 0.2s, box-shadow 0.2s;
2195  }
2196  
2197  .np-hero-feature-item:hover {
2198    transform: translateX(4px);
2199    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
2200  }
2201  
2202  .np-hero-feature-icon {
2203    font-size: 32px;
2204    flex-shrink: 0;
2205  }
2206  
2207  .np-hero-feature-text {
2208    flex: 1;
2209  }
2210  
2211  .np-hero-feature-title {
2212    font-size: 16px;
2213    font-weight: 600;
2214    color: #2d3748;
2215    margin-bottom: 4px;
2216    font-family: 'Inter', Arial, sans-serif;
2217  }
2218  
2219  .np-hero-feature-desc {
2220    font-size: 14px;
2221    color: #718096;
2222    font-family: 'Inter', Arial, sans-serif;
2223  }
2224
2225  /* Accounting hero: infographic flow (Amazon & Shopify) */
2226  .np-hero-acc-flow {
2227    background: linear-gradient(165deg, #f4f2fb 0%, #ffffff 45%, #eef0ff 100%);
2228    border: 1px solid rgba(95, 89, 240, 0.12);
2229    border-radius: 20px;
2230    padding: 24px 20px 20px;
2231    box-shadow: 0 12px 40px rgba(61, 46, 124, 0.08);
2232    max-width: 100%;
2233    display: flex;
2234    flex-direction: column;
2235    align-items: center;
2236  }
2237  .np-hero-flow-pills {
2238    display: flex;
2239    flex-wrap: wrap;
2240    gap: 8px;
2241    justify-content: center;
2242    margin-bottom: 20px;
2243  }
2244  .np-hero-flow-pill {
2245    font-size: 11px;
2246    font-weight: 600;
2247    letter-spacing: 0.04em;
2248    text-transform: uppercase;
2249    color: #5f59f0;
2250    background: rgba(95, 89, 240, 0.1);
2251    border: 1px solid rgba(95, 89, 240, 0.2);
2252    border-radius: 999px;
2253    padding: 6px 12px;
2254    font-family: 'Inter', Arial, sans-serif;
2255  }
2256  .np-hero-flow-col {
2257    display: flex;
2258    flex-direction: column;
2259    align-items: center;
2260    width: 100%;
2261    max-width: 320px;
2262  }
2263  .np-hero-flow-card {
2264    display: flex;
2265    flex-direction: column;
2266    align-items: center;
2267    justify-content: center;
2268    gap: 8px;
2269    width: 100%;
2270    padding: 14px 16px;
2271    border-radius: 14px;
2272    background: #fff;
2273    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
2274    border: 1px solid rgba(0, 0, 0, 0.04);
2275    box-sizing: border-box;
2276  }
2277  .np-hero-flow-card--hub {
2278    padding: 16px;
2279    border-color: rgba(95, 89, 240, 0.25);
2280    box-shadow: 0 6px 20px rgba(95, 89, 240, 0.12);
2281  }
2282  .np-hero-flow-logo {
2283    width: 100px;
2284    height: auto;
2285    object-fit: contain;
2286  }
2287  .np-hero-flow-np-logo {
2288    width: 130px;
2289    height: auto;
2290  }
2291  .np-hero-flow-logo-sm {
2292    width: 72px;
2293    height: auto;
2294    object-fit: contain;
2295  }
2296  .np-hero-flow-label {
2297    font-size: 11px;
2298    font-weight: 600;
2299    color: #4a5568;
2300    font-family: 'Inter', Arial, sans-serif;
2301    text-align: center;
2302    line-height: 1.2;
2303  }
2304  .np-hero-flow-arrow {
2305    display: flex;
2306    justify-content: center;
2307    padding: 6px 0;
2308  }
2309  .np-hero-flow-accts {
2310    display: flex;
2311    gap: 12px;
2312    width: 100%;
2313  }
2314  .np-hero-flow-card--acct {
2315    flex: 1;
2316    padding: 12px 8px;
2317  }
2318  .np-hero-flow-caption {
2319    margin: 16px 0 0;
2320    text-align: center;
2321    font-size: 13px;
2322    line-height: 1.45;
2323    color: #64748b;
2324    font-family: 'Inter', Arial, sans-serif;
2325    max-width: 320px;
2326  }
2327  
2328  @media screen and (max-width: 968px) {
2329    .np-hero-container {
2330      grid-template-columns: 1fr;
2331      gap: 48px;
2332    }
2333    
2334    .np-hero-content {
2335    padding-bottom: 60px;
2336      max-width: 100%;
2337    }
2338    
2339    .np-hero-headline {
2340      font-size: 36px;
2341    }
2342    
2343    .np-hero-description {
2344      font-size: 18px;
2345    }
2346  }
2347  
2348  @media screen and (max-width: 640px) {
2349    .np-hero {
2350      padding: 88px 16px 48px;
2351    }
2352    
2353    .np-hero-headline {
2354      font-size: 32px;
2355    }
2356    
2357    .np-hero-description {
2358      font-size: 16px;
2359    }
2360    
2361    .np-hero-integration-badge {
2362      padding: 24px;
2363      gap: 16px;
2364    }
2365    
2366    .np-hero-icon-wrapper {
2367      width: 120px !important;
2368      height: 120px !important;
2369    }
2370    
2371    .np-hero-platform-icon,
2372    .np-hero-accounting-icon {
2373      width: 100% !important;
2374      height: 100% !important;
2375      max-width: none !important;
2376      max-height: none !important;
2377      min-width: 80px !important;
2378      min-height: 80px !important;
2379    }
2380    
2381    .np-hero-icon-placeholder {
2382      width: 80px !important;
2383      height: 80px !important;
2384      font-size: 32px;
2385    }
2386    
2387    .np-hero-sync-arrow svg {
2388      width: 32px;
2389      height: 20px;
2390    }
2391
2392    .np-hero-flow-diagram {
2393      flex-direction: column;
2394    }
2395    .np-hero-flow-connector svg {
2396      transform: rotate(90deg);
2397    }
2398    .np-hero-flow-pills {
2399      justify-content: flex-start;
2400    }
2401  }
2402</style>
2403
2404
2405
2406
2407
2408
2409
2410<section class="np-brands" aria-label="Trusted by brands">
2411  <div class="np-brands__inner">
2412    <h2 class="np-brands__title">Trusted by 200+ Ecommerce Teams</h2>
2413
2414    <div class="np-brands__carousel-wrapper">
2415      <ul class="np-brands__carousel" aria-label="Customer logos carousel" data-carousel>
2416        <li class="np-brands__item">
2417          <a href="/titan-case-study" aria-label="Read the Titan Network case study" data-np-source="brands_strip_titan_case-study">
2418          <img class="np-brands__logo" src="/images/website_brands_titan.webp" alt="Titan" width="280" height="104" loading="lazy" decoding="async">
2419          </a>
2420        </li>
2421        <li class="np-brands__item">
2422          <img class="np-brands__logo" src="/images/website_brands_peppermint.webp" alt="Peppermint" width="280" height="104" loading="lazy" decoding="async">
2423        </li>
2424        <li class="np-brands__item">
2425          <a href="/case-study-5star" aria-label="Read the 5 Stars United case study" data-np-source="brands_strip_5-stars_case-study">
2426          <img class="np-brands__logo" src="/images/website_brands_5SU.webp" alt="5 Stars United" width="280" height="104" loading="lazy" decoding="async">
2427          </a>
2428        </li>
2429        <li class="np-brands__item">
2430          <img class="np-brands__logo" src="/images/website_brands_malinad.webp" alt="Malinad" width="280" height="104" loading="lazy" decoding="async">
2431        </li>
2432        <li class="np-brands__item">
2433          <img class="np-brands__logo" src="/images/website_brands_green_orange.webp" alt="Green Orange" width="280" height="104" loading="lazy" decoding="async">
2434        </li>
2435        <li class="np-brands__item">
2436          <img class="np-brands__logo" src="/images/website_brands_vellax.webp" alt="Vellax" width="280" height="104" loading="lazy" decoding="async">
2437        </li>
2438        <li class="np-brands__item">
2439          <a href="/case-study-zenart" aria-label="Read the ZenART Supplies case study" data-np-source="brands_strip_zenart_case-study">
2440          <img class="np-brands__logo" src="/images/website_brands_zenart.webp" alt="ZenArt" width="280" height="104" loading="lazy" decoding="async">
2441          </a>
2442        </li>
2443        <li class="np-brands__item">
2444          <a href="/international-plastics-case-study" aria-label="Read the International Plastics case study" data-np-source="brands_strip_international-plastics_case-study">
2445          <img class="np-brands__logo" src="/images/international_plastics_logo_for_case_study.webp" alt="International Plastics" width="280" height="104" loading="lazy" decoding="async">
2446          </a>
2447        </li>
2448        <li class="np-brands__item">
2449          <img class="np-brands__logo" src="/images/website_brands_m_rosenfeld.svg" alt="M. Rosenfeld" width="280" height="56" loading="lazy" decoding="async">
2450        </li>
2451        <li class="np-brands__item">
2452          <img class="np-brands__logo" src="/images/etna_mount_logo_brand_strip.webp" alt="Etna Mount" width="280" height="104" loading="lazy" decoding="async">
2453        </li>
2454        <li class="np-brands__item">
2455          <a href="/case-study-florida-deals" aria-label="Read the Cookie Box forecasting case study" data-np-source="brands_strip_cookie-box_case-study">
2456          <img class="np-brands__logo" src="/images/florida_deals_brand_stip_logo.webp" alt="Florida Deals" width="280" height="104" loading="lazy" decoding="async">
2457          </a>
2458        </li>
2459        <li class="np-brands__item">
2460          <a href="/case-study-florida-deals" aria-label="Read the Cookie Box forecasting case study" data-np-source="brands_strip_cookie-box-logo_case-study">
2461          <img class="np-brands__logo" src="/images/cookie_box_brand_strip_logo.webp" alt="Cookie Box" width="280" height="104" loading="lazy" decoding="async">
2462          </a>
2463        </li>
2464      </ul>
2465    </div>
2466  </div>
2467</section>
2468
2469<style>
2470  .np-brands {
2471    padding: 48px 0;
2472    background: #fff;
2473  }
2474
2475  .np-brands__inner {
2476    max-width: 1200px;
2477    margin: 0 auto;
2478    padding: 0 20px;
2479  }
2480
2481  .np-brands__title {
2482    margin: 0 0 32px;
2483    text-align: center;
2484    font-family: 'Inter', Arial, sans-serif;
2485    font-size: 14px;
2486    line-height: 1.4;
2487    font-weight: 600;
2488    letter-spacing: 0.06em;
2489    text-transform: uppercase;
2490    color: #000;
2491  }
2492
2493  /* Carousel wrapper with overflow hidden */
2494  .np-brands__carousel-wrapper {
2495    overflow: hidden;
2496    mask-image: linear-gradient(
2497      to right,
2498      transparent 0%,
2499      black 8%,
2500      black 92%,
2501      transparent 100%
2502    );
2503    -webkit-mask-image: linear-gradient(
2504      to right,
2505      transparent 0%,
2506      black 8%,
2507      black 92%,
2508      transparent 100%
2509    );
2510  }
2511
2512  /* Carousel list with animation */
2513  .np-brands__carousel {
2514    list-style: none;
2515    padding: 0;
2516    margin: 0;
2517
2518    display: flex;
2519    gap: 40px;
2520    align-items: center;
2521
2522    /* Animation: scroll infinitely with smooth looping */
2523    animation: np-carousel-scroll linear infinite;
2524    animation-duration: var(--carousel-duration, 40s);
2525    width: fit-content;
2526  }
2527
2528  /* Pause animation on hover */
2529  .np-brands__carousel-wrapper:hover .np-brands__carousel {
2530    animation-play-state: paused;
2531  }
2532
2533  /* Keyframe animation for smooth scrolling */
2534  @keyframes np-carousel-scroll {
2535    0% {
2536      transform: translateX(0);
2537    }
2538    100% {
2539      transform: translateX(calc(-50%));
2540    }
2541  }
2542
2543  .np-brands__item {
2544    display: flex;
2545    align-items: center;
2546    justify-content: center;
2547    flex-shrink: 0;
2548    min-width: 0;
2549  }
2550
2551  .np-brands__item a {
2552    display: inline-flex;
2553    align-items: center;
2554    justify-content: center;
2555    border-radius: 10px;
2556    line-height: 0;
2557  }
2558
2559  .np-brands__item a:focus-visible {
2560    outline: 3px solid rgba(95, 89, 240, 0.32);
2561    outline-offset: 4px;
2562  }
2563
2564  .np-brands__logo {
2565    /* Keep every mark in the same visual "box" */
2566    height: 104px;
2567    width: auto;
2568    max-width: 280px;
2569    object-fit: contain;
2570    object-position: center;
2571
2572    filter: grayscale(100%);
2573    opacity: 0.72;
2574    transition: opacity 150ms ease, filter 150ms ease;
2575  }
2576
2577  @media (max-width: 960px) {
2578    .np-brands__logo {
2579      height: 86px;
2580      max-width: 260px;
2581    }
2582  }
2583
2584  @media (max-width: 560px) {
2585    .np-brands__logo {
2586      height: 70px;
2587      max-width: 230px;
2588    }
2589    
2590    .np-brands__carousel {
2591      gap: 30px;
2592    }
2593  }
2594
2595  .np-brands__logo:hover {
2596    filter: none;
2597    opacity: 1;
2598  }
2599
2600  /* Reduce motion preference */
2601  @media (prefers-reduced-motion: reduce) {
2602    .np-brands__carousel {
2603      animation: none;
2604    }
2605  }
2606
2607</style>
2608
2609<script>
2610  /**
2611   * Infinite carousel with no duplicates visible
2612   * Dynamically clones items to create seamless loop
2613   */
2614  function initCarousel() {
2615    const carousel = document.querySelector('[data-carousel]');
2616    if (!carousel) return;
2617
2618    const wrapper = carousel.parentElement;
2619    const items = carousel.querySelectorAll('.np-brands__item');
2620    
2621    if (items.length === 0) return;
2622
2623    // Clear any existing clones first
2624    const existingClones = carousel.querySelectorAll('.np-brands__item[data-clone]');
2625    existingClones.forEach(clone => clone.remove());
2626
2627    // Clone all items and append them for seamless loop
2628    items.forEach(item => {
2629      const clone = item.cloneNode(true);
2630      clone.setAttribute('data-clone', 'true');
2631      clone.setAttribute('aria-hidden', 'true');
2632      clone.querySelectorAll('a, button').forEach(control => control.setAttribute('tabindex', '-1'));
2633      clone.querySelectorAll('[data-np-source]').forEach(tracked => tracked.removeAttribute('data-np-source'));
2634      carousel.appendChild(clone);
2635    });
2636
2637    // Get the total width of all original items (including gaps)
2638    const allItems = carousel.querySelectorAll('.np-brands__item');
2639    let totalWidth = 0;
2640    allItems.forEach((item, index) => {
2641      totalWidth += item.offsetWidth;
2642      if (index < items.length - 1) {
2643        totalWidth += 40; // gap between items
2644      }
2645    });
2646
2647    // Speed: 200px per second for faster scrolling
2648    const speed = 200;
2649    const duration = totalWidth / speed;
2650    
2651    carousel.style.setProperty('--carousel-duration', `${duration}s`);
2652    carousel.style.setProperty('--carousel-width', `${totalWidth}px`);
2653  }
2654
2655  // Initialize carousel when DOM is ready
2656  if (document.readyState === 'loading') {
2657    document.addEventListener('DOMContentLoaded', initCarousel);
2658  } else {
2659    initCarousel();
2660  }
2661
2662  // Reinitialize on window resize for responsiveness
2663  let resizeTimeout;
2664  window.addEventListener('resize', () => {
2665    clearTimeout(resizeTimeout);
2666    resizeTimeout = setTimeout(initCarousel, 250);
2667  });
2668</script>
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689<section class="np-integration-split np-integration-split--compare">
2690  <div class="np-container">
2691    
2692    <div class="np-integration-split__header">
2693      <span class="np-integration-split__eyebrow">Integration Gap</span>
2694      <h2 class="np-integration-split__title">What a basic TikTok Shop &rarr; QuickBooks sync leaves unfinished</h2>
2695      <p class="np-integration-split__lead">A TikTok Shop to QuickBooks export without NeonPanel usually stops at totals. NeonPanel closes each TikTok Shop to QuickBooks gap before the journal posts:</p>
2696      
2697    </div>
2698    <div class="np-integration-split__compare">
2699      <div class="np-integration-split__compare-col np-integration-split__compare-col--gap">
2700        <h3 class="np-integration-split__compare-label">Native sync</h3>
2701        <ul class="np-integration-split__list np-integration-split__list--gap">
2702          
2703          <li>
2704            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#FFF1E8"/><path d="M7 7l6 6M13 7l-6 6" stroke="#F6841A" stroke-width="1.8" stroke-linecap="round"/></svg>
2705            <span>Payouts land as lump sums without fee, ads, shipping, or refund splits.</span>
2706          </li>
2707          
2708          <li>
2709            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#FFF1E8"/><path d="M7 7l6 6M13 7l-6 6" stroke="#F6841A" stroke-width="1.8" stroke-linecap="round"/></svg>
2710            <span>Sales tax mixes marketplace-collected and seller-collected liabilities.</span>
2711          </li>
2712          
2713          <li>
2714            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#FFF1E8"/><path d="M7 7l6 6M13 7l-6 6" stroke="#F6841A" stroke-width="1.8" stroke-linecap="round"/></svg>
2715            <span>COGS are missing or estimated with averages that drift from reality.</span>
2716          </li>
2717          
2718          <li>
2719            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#FFF1E8"/><path d="M7 7l6 6M13 7l-6 6" stroke="#F6841A" stroke-width="1.8" stroke-linecap="round"/></svg>
2720            <span>Bank deposits do not match the journal, so reconciliation stays manual.</span>
2721          </li>
2722          
2723        </ul>
2724      </div>
2725      <div class="np-integration-split__compare-col np-integration-split__compare-col--fix">
2726        <h3 class="np-integration-split__compare-label">With NeonPanel</h3>
2727        <ul class="np-integration-split__list">
2728          
2729          <li>
2730            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
2731            <span>Every payout decomposes into sales, fees, ads, shipping, refunds, and tax.</span>
2732          </li>
2733          
2734          <li>
2735            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
2736            <span>Jurisdiction rules keep marketplace vs seller tax in the right liability buckets.</span>
2737          </li>
2738          
2739          <li>
2740            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
2741            <span>True FIFO COGS from purchase plus landed cost rides with each payout.</span>
2742          </li>
2743          
2744          <li>
2745            <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
2746            <span>Summary journals are sized to the TikTok deposit so bank rules clear in one step.</span>
2747          </li>
2748          
2749        </ul>
2750      </div>
2751    </div>
2752    
2753    
2754  </div>
2755</section>
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806<section class="np-integration-features np-integration-features--with-hero" style="background: #ffffff; padding: 80px 40px;">
2807  <div style="max-width: 1200px; margin: 0 auto;">
2808
2809    
2810    <div class="np-integration-features__hero">
2811      <div class="np-integration-features__header np-integration-features__hero-copy">
2812        <span class="np-integration-features__eyebrow">Deeper capability</span>
2813        <h2 class="np-integration-features__title">Settlement accounting built for TikTok Shop</h2>
2814        
2815        <p class="np-integration-features__intro">Automate the TikTok Shop to QuickBooks integration beyond payout totals — fee splits, sales tax, FIFO COGS, and deposit-sized journals into QuickBooks Online.</p>
2816        
2817      </div>
2818      <figure class="np-integration-features__hero-figure">
2819        <picture>
2820          <source srcset="/images/tiktok-quickbooks-payout-gaps.webp" type="image/webp">
2821          <img src="/images/tiktok-quickbooks-payout-gaps.png" alt="Diagram: TikTok Shop payout components mapped into QuickBooks Online journals" width="1200" height="800" loading="lazy" decoding="async">
2822        </picture>
2823      </figure>
2824    </div>
2825    
2826
2827    <div class="np-integration-icon-cards__grid np-integration-features__grid" style="--grid-min: 260px;">
2828      
2829      <div class="np-integration-icon-cards__item">
2830        <div class="np-integration-icon-cards__icon">
2831          
2832          
2833
2834<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2835  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2836  
2837  <path d="M16 14h16v20l-3-2-3 2-3-2-3 2-3-2-3 2V14z" stroke="#5F59F0" stroke-width="2" stroke-linejoin="round" fill="none"/>
2838  <path d="M20 20h8M20 24h8M20 28h5" stroke="#5F59F0" stroke-width="1.5" stroke-linecap="round"/>
2839  
2840</svg>
2841
2842        </div>
2843        <h3 class="np-integration-icon-cards__item-title">Settlement summaries</h3>
2844        <p class="np-integration-icon-cards__item-desc">Sales, ads, platform fees, shipping, refunds, and adjustments mapped to your Chart of Accounts.</p>
2845      </div>
2846      
2847      <div class="np-integration-icon-cards__item">
2848        <div class="np-integration-icon-cards__icon">
2849          
2850          
2851
2852<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2853  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2854  
2855  
2856  <path d="M14 16h12v18H14z" stroke="#5F59F0" stroke-width="2" fill="none"/>
2857  <path d="M18 21h4M18 25h6M18 29h5" stroke="#5F59F0" stroke-width="1.5" stroke-linecap="round"/>
2858  <circle cx="32" cy="28" r="7" stroke="#5F59F0" stroke-width="2" fill="#F0F1FF"/>
2859  <path d="M29 28l2 2 4-4.5" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
2860  
2861</svg>
2862
2863        </div>
2864        <h3 class="np-integration-icon-cards__item-title">Posting + reconciliation</h3>
2865        <p class="np-integration-icon-cards__item-desc">Summary entries sized to bank deposits; rules stay consistent payout to payout.</p>
2866      </div>
2867      
2868      <div class="np-integration-icon-cards__item">
2869        <div class="np-integration-icon-cards__icon">
2870          
2871          
2872
2873<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2874  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2875  
2876  <path d="M24 14l8 4v8c0 5-3.5 9.5-8 10-4.5-.5-8-5-8-10v-8l8-4z" stroke="#5F59F0" stroke-width="2" stroke-linejoin="round" fill="none"/>
2877  <path d="M20 24l3 3 6-7" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
2878  
2879</svg>
2880
2881        </div>
2882        <h3 class="np-integration-icon-cards__item-title">Sales tax</h3>
2883        <p class="np-integration-icon-cards__item-desc">Jurisdiction rules keep marketplace-collected vs seller-collected tax in the right liability buckets.</p>
2884      </div>
2885      
2886      <div class="np-integration-icon-cards__item">
2887        <div class="np-integration-icon-cards__icon">
2888          
2889          
2890
2891<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2892  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2893  
2894  
2895  <path d="M14 16h20v6H14z" stroke="#5F59F0" stroke-width="2" fill="none"/>
2896  <path d="M16 25h16v6H16z" stroke="#5F59F0" stroke-width="2" fill="none"/>
2897  <path d="M18 34h12" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
2898  <path d="M24 18.5v1.5M22.5 19.2c0-.7.7-1.2 1.5-1.2s1.5.4 1.5 1.1c0 .7-.5 1-1.5 1.3-.9.3-1.5.7-1.5 1.4 0 .7.7 1.2 1.5 1.2s1.5-.5 1.5-1.2" stroke="#5F59F0" stroke-width="1.4" stroke-linecap="round" fill="none"/>
2899  
2900</svg>
2901
2902        </div>
2903        <h3 class="np-integration-icon-cards__item-title">FIFO COGS</h3>
2904        <p class="np-integration-icon-cards__item-desc">True batch cost (purchase + landed cost) rides with each payout so margin is not average-cost drift.</p>
2905      </div>
2906      
2907      <div class="np-integration-icon-cards__item">
2908        <div class="np-integration-icon-cards__icon">
2909          
2910          
2911
2912<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2913  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2914  
2915  <circle cx="24" cy="24" r="4" stroke="#5F59F0" stroke-width="2" fill="none"/>
2916  <path d="M24 14v3M24 31v3M14 24h3M31 24h3M17.5 17.5l2 2M28.5 28.5l2 2M30.5 17.5l-2 2M19.5 28.5l-2 2" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
2917  
2918</svg>
2919
2920        </div>
2921        <h3 class="np-integration-icon-cards__item-title">Allocations</h3>
2922        <p class="np-integration-icon-cards__item-desc">Split by country, fulfillment model, or product line without rebuilding spreadsheets each month.</p>
2923      </div>
2924      
2925      <div class="np-integration-icon-cards__item">
2926        <div class="np-integration-icon-cards__icon">
2927          
2928          
2929
2930<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
2931  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
2932  
2933  <circle cx="18" cy="24" r="5" stroke="#5F59F0" stroke-width="2" fill="none"/>
2934  <circle cx="30" cy="24" r="5" stroke="#5F59F0" stroke-width="2" fill="none"/>
2935  <path d="M23 24h2" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
2936  
2937</svg>
2938
2939        </div>
2940        <h3 class="np-integration-icon-cards__item-title">Multi-channel context</h3>
2941        <p class="np-integration-icon-cards__item-desc">Same ledger ties TikTok to Amazon, Shopify, and inventory when you connect those channels.</p>
2942      </div>
2943      
2944    </div>
2945
2946    
2947
2948  </div>
2949</section>
2950
2951
2952
2953<style>
2954  .np-integration-features__header {
2955    text-align: center;
2956    max-width: 720px;
2957    margin: 0 auto 48px;
2958  }
2959  .np-integration-features__eyebrow {
2960    display: inline-block;
2961    font-size: 12px;
2962    font-weight: 700;
2963    letter-spacing: 0.14em;
2964    text-transform: uppercase;
2965    color: #5F59F0;
2966    margin-bottom: 12px;
2967    font-family: 'Inter', Arial, sans-serif;
2968  }
2969  .np-integration-features__title {
2970    font-size: 36px;
2971    line-height: 1.2;
2972    margin: 0 0 18px;
2973    color: #0A0F1A;
2974    font-weight: 700;
2975    font-family: 'Inter', Arial, sans-serif;
2976  }
2977  .np-integration-features__intro {
2978    font-size: 17px;
2979    line-height: 1.65;
2980    margin: 0;
2981    color: #363636;
2982    font-family: 'Inter', Arial, sans-serif;
2983  }
2984  .np-integration-features__visual {
2985    display: flex;
2986    justify-content: center;
2987    margin-bottom: 56px;
2988  }
2989  .np-integration-features__collage {
2990    position: relative;
2991    width: 100%;
2992    max-width: 520px;
2993    height: 420px;
2994  }
2995  .np-integration-features__img-main {
2996    position: relative;
2997    z-index: 2;
2998    width: 304px;
2999    border-radius: 20px;
3000    display: block;
3001  }
3002  .np-integration-features__img-left {
3003    position: absolute;
3004    top: 50px;
3005    left: 0;
3006    z-index: 1;
3007    width: 280px;
3008    border-radius: 10px;
3009    box-shadow: 40px -40px 100px 0px rgba(22, 19, 95, 0.3);
3010  }
3011  .np-integration-features__img-right {
3012    position: absolute;
3013    top: 120px;
3014    right: 20px;
3015    z-index: 3;
3016    width: 200px;
3017    border-radius: 20px;
3018    box-shadow: -40px 40px 80px 0px rgba(22, 19, 95, 0.3);
3019  }
3020  .np-integration-features__grid {
3021    margin-bottom: 0;
3022  }
3023  .np-integration-features__callout {
3024    margin: 40px 0 0;
3025    padding: 12px 16px;
3026    background: #F1E9F4;
3027    border-left: 4px solid #8E8CFF;
3028    font-size: 17px;
3029    line-height: 1.65;
3030    color: #363636;
3031    font-family: 'Inter', Arial, sans-serif;
3032  }
3033  @media screen and (max-width: 768px) {
3034    .np-integration-features {
3035      padding: 50px 16px !important;
3036    }
3037    .np-integration-features__title {
3038      font-size: 28px;
3039    }
3040    .np-integration-features__collage {
3041      height: 360px;
3042      max-width: 100%;
3043    }
3044    .np-integration-features__img-main {
3045      width: 240px;
3046    }
3047    .np-integration-features__img-left {
3048      width: 220px;
3049    }
3050    .np-integration-features__img-right {
3051      width: 160px;
3052      right: 0;
3053    }
3054  }
3055</style>
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067<style>
3068  .np-integration-icon-cards__eyebrow {
3069    font-size: 12px;
3070    font-weight: 700;
3071    letter-spacing: 0.14em;
3072    text-transform: uppercase;
3073    color: #5F59F0;
3074    margin-bottom: 12px;
3075    font-family: 'Inter', Arial, sans-serif;
3076  }
3077  .np-integration-icon-cards__title {
3078    font-size: 36px;
3079    line-height: 1.2;
3080    margin: 0 0 18px;
3081    color: #0A0F1A;
3082    font-weight: 700;
3083    font-family: 'Inter', Arial, sans-serif;
3084  }
3085  .np-integration-icon-cards__intro {
3086    font-size: 17px;
3087    line-height: 1.65;
3088    margin: 0 auto 48px;
3089    max-width: 720px;
3090    color: #363636;
3091    font-family: 'Inter', Arial, sans-serif;
3092  }
3093  .np-integration-icon-cards__grid {
3094    display: grid;
3095    grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 260px), 1fr));
3096    gap: 28px;
3097  }
3098  .np-integration-icon-cards__item {
3099    background: #fff;
3100    border: 1px solid #ebe8f8;
3101    border-radius: 18px;
3102    padding: 28px 24px;
3103    box-shadow: 0 10px 30px rgba(31, 35, 67, 0.05);
3104    text-align: center;
3105  }
3106  .np-integration-icon-cards__icon {
3107    margin: 0 auto 18px;
3108    width: 48px;
3109    height: 48px;
3110  }
3111  .np-integration-icon-cards__item-title {
3112    font-size: 18px;
3113    font-weight: 600;
3114    color: #0A0F1A;
3115    margin: 0 0 10px;
3116    font-family: 'Inter', Arial, sans-serif;
3117  }
3118  .np-integration-icon-cards__item-desc {
3119    font-size: 15px;
3120    line-height: 1.6;
3121    color: #6c6684;
3122    margin: 0;
3123    font-family: 'Inter', Arial, sans-serif;
3124  }
3125  @media screen and (max-width: 768px) {
3126    .np-integration-icon-cards {
3127      padding: 50px 16px !important;
3128    }
3129    .np-integration-icon-cards__title {
3130      font-size: 28px;
3131    }
3132    .np-integration-icon-cards__grid {
3133      gap: 20px;
3134    }
3135    .np-integration-icon-cards__item {
3136      padding: 22px 18px;
3137    }
3138  }
3139</style>
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159<section class="np-integration-icon-cards" style="background: #ffffff; padding: 80px 40px;">
3160  <div class="np-container">
3161    
3162    <span class="np-integration-icon-cards__eyebrow" style="display:block; text-align: center;">Why automate</span>
3163    
3164    
3165    <h2 class="np-integration-icon-cards__title" style="text-align: center;">Why automate TikTok Shop into QuickBooks</h2>
3166    
3167    
3168    <p class="np-integration-icon-cards__intro" style="text-align: center;">Manual payout splits waste time and reintroduce categorisation drift. NeonPanel reads TikTok settlements via API, maps them once, and posts on every close.</p>
3169    
3170    <div class="np-integration-icon-cards__grid" style="--grid-min: 210px;">
3171      
3172      <div class="np-integration-icon-cards__item">
3173        <div class="np-integration-icon-cards__icon">
3174          
3175          
3176
3177<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3178  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3179  
3180  <circle cx="24" cy="24" r="10" stroke="#5F59F0" stroke-width="2" fill="none"/>
3181  <path d="M24 18v6l4 3" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3182  
3183</svg>
3184
3185        </div>
3186        <h3 class="np-integration-icon-cards__item-title">Less spreadsheet work</h3>
3187        <p class="np-integration-icon-cards__item-desc">Payouts decompose to accounts automatically.</p>
3188      </div>
3189      
3190      <div class="np-integration-icon-cards__item">
3191        <div class="np-integration-icon-cards__icon">
3192          
3193          
3194
3195<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3196  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3197  
3198  <path d="M30 18a8 8 0 10-2.3 5.7" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" fill="none"/>
3199  <path d="M28 14h4v4" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3200  <path d="M18 30a8 8 0 102.3-5.7" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" fill="none"/>
3201  <path d="M20 34h-4v-4" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3202  
3203</svg>
3204
3205        </div>
3206        <h3 class="np-integration-icon-cards__item-title">Settlement-fresh books</h3>
3207        <p class="np-integration-icon-cards__item-desc">Fees, tax, and refunds follow each payout cycle.</p>
3208      </div>
3209      
3210      <div class="np-integration-icon-cards__item">
3211        <div class="np-integration-icon-cards__icon">
3212          
3213          
3214
3215<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3216  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3217  
3218  <path d="M24 14l8 4v8c0 5-3.5 9.5-8 10-4.5-.5-8-5-8-10v-8l8-4z" stroke="#5F59F0" stroke-width="2" stroke-linejoin="round" fill="none"/>
3219  <path d="M20 24l3 3 6-7" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3220  
3221</svg>
3222
3223        </div>
3224        <h3 class="np-integration-icon-cards__item-title">Audit-friendly tax</h3>
3225        <p class="np-integration-icon-cards__item-desc">Marketplace vs seller tax stays separated.</p>
3226      </div>
3227      
3228      <div class="np-integration-icon-cards__item">
3229        <div class="np-integration-icon-cards__icon">
3230          
3231          
3232
3233<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3234  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3235  
3236  
3237  <path d="M14 16h12v18H14z" stroke="#5F59F0" stroke-width="2" fill="none"/>
3238  <path d="M18 21h4M18 25h6M18 29h5" stroke="#5F59F0" stroke-width="1.5" stroke-linecap="round"/>
3239  <circle cx="32" cy="28" r="7" stroke="#5F59F0" stroke-width="2" fill="#F0F1FF"/>
3240  <path d="M29 28l2 2 4-4.5" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3241  
3242</svg>
3243
3244        </div>
3245        <h3 class="np-integration-icon-cards__item-title">Deposit alignment</h3>
3246        <p class="np-integration-icon-cards__item-desc">Summary journals match what hits the bank.</p>
3247      </div>
3248      
3249      <div class="np-integration-icon-cards__item">
3250        <div class="np-integration-icon-cards__icon">
3251          
3252          
3253
3254<svg class="np-icon-svg" width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3255  <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3256  
3257  <path d="M16 30l6-10 6 6 8-12" stroke="#5F59F0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
3258  <path d="M14 34h20" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
3259  
3260</svg>
3261
3262        </div>
3263        <h3 class="np-integration-icon-cards__item-title">Scales with volume</h3>
3264        <p class="np-integration-icon-cards__item-desc">Rules stay the same as order count grows.</p>
3265      </div>
3266      
3267    </div>
3268  </div>
3269</section>
3270
3271
3272
3273<style>
3274  .np-integration-icon-cards__eyebrow {
3275    font-size: 12px;
3276    font-weight: 700;
3277    letter-spacing: 0.14em;
3278    text-transform: uppercase;
3279    color: #5F59F0;
3280    margin-bottom: 12px;
3281    font-family: 'Inter', Arial, sans-serif;
3282  }
3283  .np-integration-icon
3283-cards__title {
3284    font-size: 36px;
3285    line-height: 1.2;
3286    margin: 0 0 18px;
3287    color: #0A0F1A;
3288    font-weight: 700;
3289    font-family: 'Inter', Arial, sans-serif;
3290  }
3291  .np-integration-icon-cards__intro {
3292    font-size: 17px;
3293    line-height: 1.65;
3294    margin: 0 auto 48px;
3295    max-width: 720px;
3296    color: #363636;
3297    font-family: 'Inter', Arial, sans-serif;
3298  }
3299  .np-integration-icon-cards__grid {
3300    display: grid;
3301    grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 260px), 1fr));
3302    gap: 28px;
3303  }
3304  .np-integration-icon-cards__item {
3305    background: #fff;
3306    border: 1px solid #ebe8f8;
3307    border-radius: 18px;
3308    padding: 28px 24px;
3309    box-shadow: 0 10px 30px rgba(31, 35, 67, 0.05);
3310    text-align: center;
3311  }
3312  .np-integration-icon-cards__icon {
3313    margin: 0 auto 18px;
3314    width: 48px;
3315    height: 48px;
3316  }
3317  .np-integration-icon-cards__item-title {
3318    font-size: 18px;
3319    font-weight: 600;
3320    color: #0A0F1A;
3321    margin: 0 0 10px;
3322    font-family: 'Inter', Arial, sans-serif;
3323  }
3324  .np-integration-icon-cards__item-desc {
3325    font-size: 15px;
3326    line-height: 1.6;
3327    color: #6c6684;
3328    margin: 0;
3329    font-family: 'Inter', Arial, sans-serif;
3330  }
3331  @media screen and (max-width: 768px) {
3332    .np-integration-icon-cards {
3333      padding: 50px 16px !important;
3334    }
3335    .np-integration-icon-cards__title {
3336      font-size: 28px;
3337    }
3338    .np-integration-icon-cards__grid {
3339      gap: 20px;
3340    }
3341    .np-integration-icon-cards__item {
3342      padding: 22px 18px;
3343    }
3344  }
3345</style>
3346
3347
3348
3349
3350<section class="np-section bg-gray">
3351  <div class="np-container">
3352    <div class="np-integration-steps-header">
3353      <span class="np-eyebrow">How it works</span>
3354      <h2 class="np-h2" style="margin-bottom: 0;">How the TikTok Shop to QuickBooks integration works</h2>
3355    </div>
3356    <div class="np-integration-steps">
3357      <div class="np-integration-step">
3358        <div class="np-integration-step__num">1</div>
3359        <h3 class="np-integration-step__title">Connect Your Accounts</h3>
3360        <p class="np-integration-step__desc">OAuth TikTok Shop Seller Center and QuickBooks Online.</p>
3361      </div>
3362      <div class="np-integration-step">
3363        <div class="np-integration-step__num">2</div>
3364        <h3 class="np-integration-step__title">Configure Your Mapping</h3>
3365        <p class="np-integration-step__desc">Point sales, fees, tax, and adjustments at accounts by country, category, or fulfillment path.</p>
3366      </div>
3367      <div class="np-integration-step">
3368        <div class="np-integration-step__num">3</div>
3369        <h3 class="np-integration-step__title">Automate &amp; Sync</h3>
3370        <p class="np-integration-step__desc">Each closed settlement posts a summary journal plus COGS; totals align with the TikTok deposit for bank rules.</p>
3371      </div>
3372    </div>
3373  </div>
3374</section>
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396<section class="np-integration-split np-integration-split--muted np-integration-split--reverse">
3397  <div class="np-container">
3398    
3399    <div class="np-integration-split__inner">
3400      <div class="np-integration-split__copy">
3401        <span class="np-integration-split__eyebrow">Deposit reconciliation</span>
3402        <h2 class="np-integration-split__title">Automate TikTok Shop accounting with NeonPanel</h2>
3403        <p class="np-integration-split__lead">NeonPanel turns TikTok payouts into mapped QuickBooks Online journals with true FIFO COGS and deposit-level reconciliation. Start free and validate the first settlement in minutes.</p>
3404        
3405        
3406        
3407      </div>
3408      
3409      <figure class="np-integration-split__media np-integration-split__figure">
3410        <picture>
3411          <source srcset="/images/tiktok-quickbooks-deposit-reconcile.webp" type="image/webp">
3412          <img src="/images/tiktok-quickbooks-deposit-reconcile.png" alt="Diagram: TikTok Shop payout summary journal in QuickBooks Online aligned to the bank deposit for one-step reconciliation" width="1200" height="800" loading="lazy" decoding="async">
3413        </picture>
3414      </figure>
3415      
3416    </div>
3417    
3418  </div>
3419</section>
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449<section class="np-section bg-gray">
3450  <div class="np-container">
3451    
3452    <div class="np-integration-link-grid__header">
3453      <span class="np-eyebrow">See also</span>
3454      <h2 class="np-h2">Related guides</h2>
3455      
3456    </div>
3457    
3458
3459    <div class="np-integration-link-grid">
3460      
3461      <div class="np-integration-link-tile">
3462        
3463        <a href="/inventory-management" class="np-integration-link-tile__link" data-np-source="tiktok_to_quickbooks_related_inventory">
3464          <h3 class="np-integration-link-tile__title">True inventory tracking <span class="np-integration-link-tile__arrow" aria-hidden="true">&rarr;</span></h3>
3465        </a>
3466        <p class="np-integration-link-tile__body">Shipment-level stock and valuation on the same ledger.</p>
3467      </div>
3468      
3469      <div class="np-integration-link-tile">
3470        
3471        <a href="/accounting-ecommerce" class="np-integration-link-tile__link" data-np-source="tiktok_to_quickbooks_related_accounting">
3472          <h3 class="np-integration-link-tile__title">Ecommerce accounting on NeonPanel <span class="np-integration-link-tile__arrow" aria-hidden="true">&rarr;</span></h3>
3473        </a>
3474        <p class="np-integration-link-tile__body">Module overview for finance-led operators.</p>
3475      </div>
3476      
3477      <div class="np-integration-link-tile">
3478        
3479        <a href="/inventory-forecasting" class="np-integration-link-tile__link" data-np-source="tiktok_to_quickbooks_related_forecasting">
3480          <h3 class="np-integration-link-tile__title">Forecasting &amp; replenishment <span class="np-integration-link-tile__arrow" aria-hidden="true">&rarr;</span></h3>
3481        </a>
3482        <p class="np-integration-link-tile__body">Replenishment on the costs that close the books.</p>
3483      </div>
3484      
3485      <div class="np-integration-link-tile">
3486        
3487        <a href="/quickbooks-integration" class="np-integration-link-tile__link" data-np-source="tiktok_to_quickbooks_related_hub">
3488          <h3 class="np-integration-link-tile__title">QuickBooks integration hub <span class="np-integration-link-tile__arrow" aria-hidden="true">&rarr;</span></h3>
3489        </a>
3490        <p class="np-integration-link-tile__body">All marketplace guides for QuickBooks Online.</p>
3491      </div>
3492      
3493    </div>
3494
3495  </div>
3496</section>
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507<section id="quickbooks-to-tiktok" class="np-section" style="scroll-margin-top: 90px;">
3508  <div class="np-container">
3509    <span class="np-eyebrow">QuickBooks Online to TikTok Shop</span>
3510    <h2 class="np-h2">The QuickBooks side of the TikTok Shop ledger</h2>
3511    <p class="np-text">Whether you search &ldquo;TikTok Shop to QuickBooks&rdquo; or &ldquo;QuickBooks to TikTok Shop&rdquo;, you are wiring the same NeonPanel ledger. QuickBooks Online receives one summary journal per TikTok payout covering sales, marketplace fees, ads, shipping, refunds, sales tax, and COGS, mapped to your Chart of Accounts and sized to the deposit.</p>
3512    <p class="np-text">What that gives the QuickBooks user:</p>
3513    <ul class="np-integration-split__list">
3514      <li>
3515        <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
3516        <span><strong>One summary entry per payout</strong> in QuickBooks Online, with the underlying TikTok line items kept in NeonPanel for audit.</span>
3517      </li>
3518      <li>
3519        <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
3520        <span><strong>Automatic bank match</strong> &mdash; the summary entry matches the TikTok deposit in QBO without manual reclassification.</span>
3521      </li>
3522      <li>
3523        <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
3524        <span><strong>Class &amp; location tracking</strong> &mdash; allocate by storefront, country, or product line so QuickBooks reports stay decision-ready.</span>
3525      </li>
3526      <li>
3527        <svg class="np-integration-split__list-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true"><circle cx="10" cy="10" r="9" fill="#F0F1FF"/><path d="M6 10.5l2.5 2.5L14 7.5" stroke="#5F59F0" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
3528        <span><strong>Multi-storefront aware</strong> &mdash; multiple TikTok Shop accounts roll up into a single QuickBooks company without losing channel-level reporting.</span>
3529      </li>
3530    </ul>
3531  </div>
3532</section>
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542<div class="np-sync-everything">
3543  <div class="np-sync-container">
3544    
3545    <h2 class="np-sync-title">Sync Everything</h2>
3546    
3547
3548    <div class="np-sync-grid">
3549      
3550      <div class="np-sync-item">
3551        <div class="np-sync-icon">
3552          
3553          <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3554            <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3555            <path d="M16 18h16M16 24h16M16 30h12" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
3556          </svg>
3557          
3558        </div>
3559        <h3 class="np-sync-item-title">Catalogs</h3>
3560        <p class="np-sync-item-desc">Including Products, Services, Customers, Vendors, and Currencies</p>
3561      </div>
3562      
3563      <div class="np-sync-item">
3564        <div class="np-sync-icon">
3565          
3566          <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3567            <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3568            <path d="M14 16h20v16H14z" stroke="#5F59F0" stroke-width="2" fill="none"/>
3569            <path d="M18 20h12M18 24h8M18 28h10" stroke="#5F59F0" stroke-width="1.5" stroke-linecap="round"/>
3570          </svg>
3571          
3572        </div>
3573        <h3 class="np-sync-item-title">Charts of Accounts</h3>
3574        <p class="np-sync-item-desc">Use the default Chart of Accounts tailored for TikTok Shop and multi-channel sellers or customize your own</p>
3575      </div>
3576      
3577      <div class="np-sync-item">
3578        <div class="np-sync-icon">
3579          
3580          <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3581            <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3582            <circle cx="24" cy="24" r="10" stroke="#5F59F0" stroke-width="2" fill="none"/>
3583            <path d="M24 20v4l3 3" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
3584          </svg>
3585          
3586        </div>
3587        <h3 class="np-sync-item-title">Bills</h3>
3588        <p class="np-sync-item-desc">Bills, purchase orders, and expenses synced in real-time</p>
3589      </div>
3590      
3591      <div class="np-sync-item">
3592        <div class="np-sync-icon">
3593          
3594          <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
3595            <rect width="48" height="48" rx="8" fill="#F0F1FF"/>
3596            <path d="M14 16h20l-2 16H16l-2-16z" stroke="#5F59F0" stroke-width="2" fill="none"/>
3597            <path d="M20 22h8" stroke="#5F59F0" stroke-width="2" stroke-linecap="round"/>
3598          </svg>
3599          
3600        </div>
3601        <h3 class="np-sync-item-title">Invoices &amp; FIFO COGS</h3>
3602        <p class="np-sync-item-desc">Sales invoices sync alongside true Cost of Goods Sold calculated with the FIFO method</p>
3603      </div>
3604      
3605    </div>
3606  </div>
3607</div>
3608
3609<style>
3610  .np-sync-everything {
3611    padding: 80px 20px;
3612    background-color: #ffffff;
3613  }
3614
3615  .np-sync-container {
3616    max-width: 1200px;
3617    margin: 0 auto;
3618  }
3619
3620  .np-sync-eyebrow {
3621    display: block;
3622    text-align: center;
3623    font-size: 13px;
3624    font-weight: 600;
3625    letter-spacing: 0.06em;
3626    text-transform: uppercase;
3627    color: #5f59f0;
3628    margin: 0 0 12px;
3629    font-family: 'Inter', Arial, sans-serif;
3630  }
3631
3632  .np-sync-title {
3633    font-size: 36px;
3634    font-weight: 700;
3635    color: #1a202c;
3636    text-align: center;
3637    margin-bottom: 60px;
3638    font-family: 'Inter', Arial, sans-serif;
3639  }
3640
3641  .np-sync-title--with-intro {
3642    margin-bottom: 20px;
3643  }
3644
3645  .np-sync-intro {
3646    font-size: 17px;
3647    line-height: 1.7;
3648    color: #4a5568;
3649    text-align: center;
3650    max-width: 760px;
3651    margin: 0 auto 48px;
3652    font-family: 'Inter', Arial, sans-serif;
3653  }
3654
3655  .np-sync-grid {
3656    display: grid;
3657    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
3658    gap: 32px;
3659  }
3660
3661  .np-sync-item {
3662    text-align: center;
3663    padding: 24px;
3664  }
3665
3666  .np-sync-icon {
3667    margin: 0 auto 20px;
3668    width: 48px;
3669    height: 48px;
3670  }
3671
3672  .np-sync-item-title {
3673    font-size: 20px;
3674    font-weight: 600;
3675    color: #2d3748;
3676    margin-bottom: 12px;
3677    font-family: 'Inter', Arial, sans-serif;
3678  }
3679
3680  .np-sync-item-desc {
3681    font-size: 15px;
3682    color: #6c6684;
3683    line-height: 1.6;
3684    margin: 0;
3685    font-family: 'Inter', Arial, sans-serif;
3686  }
3687
3688  @media screen and (max-width: 768px) {
3689    .np-sync-everything {
3690      padding: 50px 16px;
3691    }
3692
3693    .np-sync-title {
3694      font-size: 28px;
3695      margin-bottom: 40px;
3696    }
3697
3698    .np-sync-grid {
3699      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
3700      gap: 24px;
3701    }
3702
3703    .np-sync-item {
3704      padding: 16px;
3705    }
3706
3707    .np-sync-item-title {
3708      font-size: 18px;
3709    }
3710
3711    .np-sync-item-desc {
3712      font-size: 14px;
3713    }
3714  }
3715</style>
3716
3717
3718
3719
3720
3721
3722
3723<!-- AI Tail: specialist agents + ledger trust (rendered above final CTA on positioning pages) -->
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736<section class="np-aitail" aria-label="NeonPanel AI agents on your ledger">
3737  <div class="np-aitail__container">
3738    <span class="np-aitail__overline">AI on your data</span>
3739    <h2 class="np-aitail__headline">Eight specialists for your business</h2>
3740    <p class="np-aitail__lede">NeonPanel ships domain agents for replenishment, supply chain, accounting, forecasting, market intel, and more &mdash; on the same FIFO ledger and shipment-level inventory your ops and finance already use. Ask in Claude, Slack, or your own MCP client; the numbers stay one conversation.</p>
3741    
3742
3743    
3744
3745    <ul class="np-aitail__roster" role="list">
3746      <li class="np-aitail__agent">
3747        <span class="np-aitail__agent-name">Dorian</span>
3748        <span class="np-aitail__agent-role">Replenishment</span>
3749        <span class="np-aitail__agent-desc">PO timing, reorder points, and stockout risk from live velocity</span>
3750      </li>
3751      <li class="np-aitail__agent">
3752        <span class="np-aitail__agent-name">Nina</span>
3753        <span class="np-aitail__agent-role">Supply chain</span>
3754        <span class="np-aitail__agent-desc">Shipment ETAs, warehouse balances, and inbound reconciliation</span>
3755      </li>
3756      <li class="np-aitail__agent">
3757        <span class="np-aitail__agent-name">Mark</span>
3758        <span class="np-aitail__agent-role">Marketing research</span>
3759        <span class="np-aitail__agent-desc">Listing audits, keyword research, and PPC waste checks</span>
3760      </li>
3761      <li class="np-aitail__agent">
3762        <span class="np-aitail__agent-name">Marta</span>
3763        <span class="np-aitail__agent-role">Accounting</span>
3764        <span class="np-aitail__agent-desc">P&amp;L, COGS accuracy, and settlement reconciliation</span>
3765      </li>
3766      <li class="np-aitail__agent">
3767        <span class="np-aitail__agent-name">Kio</span>
3768        <span class="np-aitail__agent-role">Forecasting</span>
3769        <span class="np-aitail__agent-desc">Demand scenarios, coverage gaps, and sell-through outlook</span>
3770      </li>
3771      <li class="np-aitail__agent">
3772        <span class="np-aitail__agent-name">April</span>
3773        <span class="np-aitail__agent-role">Market intel</span>
3774        <span class="np-aitail__agent-desc">Share shifts, keyword gaps, and competitive moves</span>
3775      </li>
3776      <li class="np-aitail__agent">
3777        <span class="np-aitail__agent-name">Sanjay</span>
3778        <span class="np-aitail__agent-role">Financial analysis</span>
3779        <span class="np-aitail__agent-desc">Cash planning, margin drivers, and portfolio roll-ups</span>
3780      </li>
3781      <li class="np-aitail__agent np-aitail__agent--neon">
3782        <span class="np-aitail__agent-name">Neon</span>
3783        <span class="np-aitail__agent-role">Onboarding &amp; CS</span>
3784        <span class="np-aitail__agent-desc">Setup, Chart of Accounts mapping, and day-to-day help</span>
3785        <span class="np-aitail__agent-note">Also in site chat &darr;</span>
3786      </li>
3787    </ul>
3788
3789    
3790    <div class="np-aitail__actions">
3791      <a href="/ai" class="np-aitail__cta" data-np-source="ai_tail_explore_ai">Explore AI &amp; agents &rarr;</a>
3792    </div>
3793    
3794
3795    
3796    <p class="np-aitail__footnote">Recommendations land on real FIFO batch costs, not industry averages.</p>
3797    
3798  </div>
3799</section>
3800
3801<style>
3802  .np-aitail {
3803    background: linear-gradient(165deg, #f4f2fb 0%, #ffffff 55%, #eef0ff 100%);
3804    padding: 96px 20px;
3805    border-top: 1px solid rgba(95, 89, 240, 0.08);
3806    border-bottom: 1px solid rgba(95, 89, 240, 0.08);
3807  }
3808  .np-aitail__container {
3809    max-width: 1100px;
3810    margin: 0 auto;
3811    text-align: center;
3812  }
3813  .np-aitail__overline {
3814    display: inline-block;
3815    font-family: 'Inter', Arial, sans-serif;
3816    font-size: 12px;
3817    font-weight: 700;
3818    letter-spacing: 0.14em;
3819    text-transform: uppercase;
3820    color: #5F59F0;
3821    margin-bottom: 18px;
3822  }
3823  .np-aitail__headline {
3824    font-family: 'Inter', Arial, sans-serif;
3825    font-size: clamp(28px, 3.2vw, 40px);
3826    font-weight: 700;
3827    line-height: 1.2;
3828    letter-spacing: -0.01em;
3829    color: #0A0F1A;
3830    margin: 0 auto 18px;
3831    max-width: 820px;
3832  }
3833  .np-aitail__lede {
3834    font-family: 'Inter', Arial, sans-serif;
3835    font-size: 18px;
3836    line-height: 1.6;
3837    color: #4a5568;
3838    margin: 0 auto 48px;
3839    max-width: 720px;
3840  }
3841
3842  .np-aitail__lede--with-extra {
3843    margin-bottom: 20px;
3844  }
3845
3846  .np-aitail__extra {
3847    font-family: 'Inter', Arial, sans-serif;
3848    font-size: 16px;
3849    line-height: 1.65;
3850    color: #5a6275;
3851    margin: 0 auto 48px;
3852    max-width: 760px;
3853  }
3854
3855  .np-aitail__capabilities {
3856    list-style: none;
3857    display: grid;
3858    grid-template-columns: repeat(4, 1fr);
3859    gap: 12px;
3860    margin: 0 0 28px;
3861    padding: 0;
3862    text-align: left;
3863  }
3864  .np-aitail__capability {
3865    display: flex;
3866    flex-direction: column;
3867    gap: 6px;
3868    padding: 18px;
3869    background: #f8f7ff;
3870    border: 1px solid rgba(95, 89, 240, 0.18);
3871    border-radius: 14px;
3872  }
3873  .np-aitail__capability-title {
3874    font-family: 'Inter', Arial, sans-serif;
3875    font-size: 15px;
3876    font-weight: 700;
3877    line-height: 1.3;
3878    color: #0A0F1A;
3879  }
3880  .np-aitail__capability-text {
3881    font-family: 'Inter', Arial, sans-serif;
3882    font-size: 13px;
3883    line-height: 1.5;
3884    color: #4a5568;
3885  }
3886
3887  .np-aitail__roster {
3888    list-style: none;
3889    display: grid;
3890    grid-template-columns: repeat(4, 1fr);
3891    gap: 12px;
3892    margin: 0 0 28px;
3893    padding: 0;
3894    text-align: left;
3895  }
3896  .np-aitail__agent {
3897    display: flex;
3898    flex-direction: column;
3899    gap: 2px;
3900    padding: 14px 16px;
3901    background: #ffffff;
3902    border: 1px solid rgba(95, 89, 240, 0.16);
3903    border-radius: 12px;
3904  }
3905  .np-aitail__agent-name {
3906    font-family: 'Inter', Arial, sans-serif;
3907    font-size: 15px;
3908    font-weight: 700;
3909    color: #0A0F1A;
3910    line-height: 1.25;
3911  }
3912  .np-aitail__agent-role {
3913    font-family: 'Inter', Arial, sans-serif;
3914    font-size: 11px;
3915    font-weight: 600;
3916    letter-spacing: 0.04em;
3917    text-transform: uppercase;
3918    line-height: 1.25;
3919    color: #6f6cb1;
3920  }
3921  .np-aitail__agent-desc {
3922    font-family: 'Inter', Arial, sans-serif;
3923    font-size: 13px;
3924    line-height: 1.4;
3925    color: #4a5568;
3926    margin-top: 2px;
3927  }
3928  .np-aitail__agent--neon {
3929    border-color: rgba(95, 89, 240, 0.32);
3930    background: linear-gradient(180deg, #faf9ff 0%, #ffffff 100%);
3931  }
3932  .np-aitail__agent-note {
3933    font-family: 'Inter', Arial, sans-serif;
3934    font-size: 10px;
3935    line-height: 1.3;
3936    color: #888888;
3937    margin-top: 4px;
3938  }
3939
3940  .np-aitail__actions {
3941    margin-bottom: 20px;
3942  }
3943  .np-aitail__cta {
3944    display: inline-flex;
3945    align-items: center;
3946    font-family: 'Inter', Arial, sans-serif;
3947    font-size: 16px;
3948    font-weight: 600;
3949    color: #5F59F0;
3950    text-decoration: none;
3951    transition: color 0.15s ease;
3952  }
3953  .np-aitail__cta:hover {
3954    color: #4a44d4;
3955  }
3956
3957  .np-aitail__footnote {
3958    font-family: 'Inter', Arial, sans-serif;
3959    font-size: 14px;
3960    color: #6b7280;
3961    margin: 0;
3962  }
3963
3964  .np-aitail--overview {
3965    padding-top: 80px;
3966    padding-bottom: 80px;
3967  }
3968
3969  @media (max-width: 900px) {
3970    .np-aitail__capabilities,
3971    .np-aitail__roster { grid-template-columns: repeat(2, 1fr); }
3972  }
3973  @media (max-width: 880px) {
3974    .np-aitail { padding: 72px 20px; }
3975  }
3976  @media (max-width: 480px) {
3977    .np-aitail__capabilities,
3978    .np-aitail__roster { grid-template-columns: 1fr; }
3979  }
3980</style>
3981
3982
3983
3984<div class="np-pricing-simple">
3985  <div class="np-pricing-container">
3986    <div class="np-pricing-header">
3987      <span class="np-eyebrow" style="display:block; margin-bottom:12px;">Plans</span>
3988      <h2 class="np-pricing-title">Essentials vs Professional</h2>
3989      <p class="np-pricing-subtitle">Both plans run Accounting &amp; Finance on the same ledger into QuickBooks or Xero. The difference is inventory resolution — single-location on Essentials, shipment-level on Professional.</p>
3990    </div>
3991
3992    <div class="np-pricing-cards">
3993      <div class="np-pricing-card">
3994        <h3 class="np-pricing-plan-name">Essentials</h3>
3995        <p class="np-pricing-description">Multi-channel journals into QuickBooks or Xero, with inventory modeled as one location and costs at the PO average.</p>
3996      </div>
3997
3998      <div class="np-pricing-card np-pricing-card-featured">
3999        <h3 class="np-pricing-plan-name">Professional</h3>
4000        <p class="np-pricing-description">Shipment-level inventory across FBA, AWD, and 3PL, true FIFO at the batch, and multi-entity consolidated P&amp;L.</p>
4001      </div>
4002    </div>
4003
4004    <div class="np-pricing-footer">
4005      <p><a href="/pricing#fit" class="np-pricing-link" data-np-source="pricing_simple_find-fit">See which plan fits →</a></p>
4006    </div>
4007  </div>
4008</div>
4009
4010<style>
4011  .np-pricing-simple {
4012    padding: 60px 20px;
4013    background-color: #f9fafb;
4014  }
4015  .np-pricing-container {
4016    max-width: 800px;
4017    margin: 0 auto;
4018  }
4019  .np-pricing-header {
4020    text-align: center;
4021    margin-bottom: 28px;
4022  }
4023  .np-pricing-title {
4024    font-size: 32px;
4025    font-weight: 700;
4026    color: #1a202c;
4027    margin: 0 0 12px;
4028    font-family: 'Inter', Arial, sans-serif;
4029  }
4030  .np-pricing-subtitle {
4031    font-size: 17px;
4032    color: #6c6684;
4033    margin: 0;
4034    font-family: 'Inter', Arial, sans-serif;
4035  }
4036  .np-pricing-cards {
4037    display: grid;
4038    grid-template-columns: 1fr 1fr;
4039    gap: 20px;
4040    margin-bottom: 24px;
4041  }
4042  .np-pricing-card {
4043    background: #ffffff;
4044    border: 1px solid #e2e8f0;
4045    border-radius: 12px;
4046    padding: 24px 20px;
4047  }
4048  .np-pricing-card-featured {
4049    border: 2px solid #5f59f0;
4050  }
4051  .np-pricing-plan-name {
4052    font-size: 20px;
4053    font-weight: 600;
4054    color: #5a56b5;
4055    margin: 0 0 10px;
4056    font-family: 'Inter', Arial, sans-serif;
4057  }
4058  .np-pricing-description {
4059    font-size: 15px;
4060    color: #4a5568;
4061    margin: 0;
4062    line-height: 1.5;
4063    font-family: 'Inter', Arial, sans-serif;
4064  }
4065  .np-pricing-footer {
4066    text-align: center;
4067  }
4068  .np-pricing-footer p {
4069    margin: 0;
4070    font-family: 'Inter', Arial, sans-serif;
4071  }
4072  .np-pricing-link {
4073    color: #5f59f0 !important;
4074    font-weight: 600;
4075    font-size: 16px;
4076    text-decoration: none;
4077  }
4078  .np-pricing-link:hover {
4079    text-decoration: underline;
4080  }
4081  @media screen and (max-width: 768px) {
4082    .np-pricing-simple { padding: 40px 16px; }
4083    .np-pricing-title { font-size: 26px; }
4084    .np-pricing-cards { grid-template-columns: 1fr; }
4085  }
4086</style>
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101<script type="application/ld+json">
4102{
4103  "@context": "https://schema.org",
4104  "@type": "FAQPage",
4105  "mainEntity": [
4106    {
4107      "@type": "Question",
4108      "name": "How do merchants reconcile finances on TikTok Shop?",
4109      "acceptedAnswer": {
4110        "@type": "Answer",
4111        "text": "Most TikTok Shop sellers reconcile by matching each TikTok payout to a corresponding bank deposit, then breaking the payout down into sales, refunds, marketplace fees, advertising spend, shipping, and sales tax. Done by hand in spreadsheets it takes hours per settlement. NeonPanel automates the breakdown and posts a clean summary journal into QuickBooks Online so reconciliation becomes a single bank-rule match per payout."
4112      }
4113    },
4114    {
4115      "@type": "Question",
4116      "name": "TikTok Shop financial reconciliation methods comparison",
4117      "acceptedAnswer": {
4118        "@type": "Answer",
4119        "text": "Three patterns: (1) Manual CSV + spreadsheet journals &mdash; accurate, slow. (2) Generic importers dumping raw lines &mdash; weak fee and COGS discipline. (3) NeonPanel summaries with FIFO COGS sized to deposits &mdash; scales without margin distortion."
4120      }
4121    },
4122    {
4123      "@type": "Question",
4124      "name": "How to connect TikTok Shop to QuickBooks Online",
4125      "acceptedAnswer": {
4126        "@type": "Answer",
4127        "text": "Connect your TikTok Seller Center account and your QuickBooks Online company to NeonPanel using OAuth, choose the Chart of Accounts mapping you want for sales, fees, advertising, refunds, shipping, and sales tax, then enable the sync. NeonPanel handles authentication, settlement parsing, COGS calculation, and journal posting on an ongoing basis. Historical TikTok Shop data can be imported from a chosen start date."
4128      }
4129    },
4130    {
4131      "@type": "Question",
4132      "name": "Export and import TikTok Shop financial data into accounting software",
4133      "acceptedAnswer": {
4134        "@type": "Answer",
4135        "text": "TikTok Seller Center supports manual export of financial reports, but the format is not directly importable into QuickBooks Online without transformation. NeonPanel removes the export/import step entirely — TikTok Shop financial data is read via the official API, normalised into accounting structures (settlement lines, fee categories, COGS, sales tax), and pushed to QuickBooks Online on an ongoing basis. The underlying detail remains exportable as CSV from NeonPanel for audit."
4136      }
4137    },
4138    {
4139      "@type": "Question",
4140      "name": "Does NeonPanel handle TikTok Shop sales tax in QuickBooks Online?",
4141      "acceptedAnswer": {
4142        "@type": "Answer",
4143        "text": "Yes. Sales tax collected by TikTok Shop is recorded against the correct tax accounts in QuickBooks Online based on jurisdiction-specific rules you configure during setup. Marketplace-collected tax is treated separately from seller-collected tax so the liability accounts stay accurate."
4144      }
4145    },
4146    {
4147      "@type": "Question",
4148      "name": "How are TikTok Shop COGS calculated?",
4149      "acceptedAnswer": {
4150        "@type": "Answer",
4151        "text": "NeonPanel calculates COGS on a true FIFO basis using actual purchase prices and landed costs (freight, duties, insurance) for each batch. The COGS posted to QuickBooks Online alongside each TikTok payout reflects what the inventory really cost, not an average — which is what makes margin reporting trustworthy."
4152      }
4153    },
4154    {
4155      "@type": "Question",
4156      "name": "Can I sync historical data from TikTok Shop?",
4157      "acceptedAnswer": {
4158        "@type": "Answer",
4159        "text": "Yes. NeonPanel can import historical TikTok Shop transactions from a chosen start date so your QuickBooks books are complete from day one of the integration."
4160      }
4161    },
4162    {
4163      "@type": "Question",
4164      "name": "Do you offer onboarding support?",
4165      "acceptedAnswer": {
4166        "@type": "Answer",
4167        "text": "Yes. Professional plans include onboarding calls. The team works alongside your accountant to configure NeonPanel, the TikTok Shop connection, and the QuickBooks Chart of Accounts mapping so the integration matches your business structure."
4168      }
4169    }
4170  ]
4171}
4172</script>
4172
4173
4174
4175
4176<section class="np-faq" style="background-color: #f9fafb;">
4177  <div class="np-faq-container">
4178    <h2 class="np-faq-title">TikTok Shop to QuickBooks — Frequently Asked Questions</h2>
4179
4180    <div class="np-faq-items">
4181      
4182      <div class="np-faq-item">
4183        <button type="button" class="np-faq-question" aria-expanded="false">
4184          <span>How do merchants reconcile finances on TikTok Shop?</span>
4185          
4186<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4187  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4188</svg>
4189
4190        </button>
4191        <div class="np-faq-answer" hidden>
4192          <p>Most TikTok Shop sellers reconcile by matching each TikTok payout to a corresponding bank deposit, then breaking the payout down into sales, refunds, marketplace fees, advertising spend, shipping, and sales tax. Done by hand in spreadsheets it takes hours per settlement. NeonPanel automates the breakdown and posts a clean summary journal into QuickBooks Online so reconciliation becomes a single bank-rule match per payout.</p>
4193        </div>
4194      </div>
4195      
4196      <div class="np-faq-item">
4197        <button type="button" class="np-faq-question" aria-expanded="false">
4198          <span>TikTok Shop financial reconciliation methods comparison</span>
4199          
4200<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4201  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4202</svg>
4203
4204        </button>
4205        <div class="np-faq-answer" hidden>
4206          <p>Three patterns: (1) Manual CSV + spreadsheet journals &mdash; accurate, slow. (2) Generic importers dumping raw lines &mdash; weak fee and COGS discipline. (3) NeonPanel summaries with FIFO COGS sized to deposits &mdash; scales without margin distortion.</p>
4207        </div>
4208      </div>
4209      
4210      <div class="np-faq-item">
4211        <button type="button" class="np-faq-question" aria-expanded="false">
4212          <span>How to connect TikTok Shop to QuickBooks Online</span>
4213          
4214<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4215  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4216</svg>
4217
4218        </button>
4219        <div class="np-faq-answer" hidden>
4220          <p>Connect your TikTok Seller Center account and your QuickBooks Online company to NeonPanel using OAuth, choose the Chart of Accounts mapping you want for sales, fees, advertising, refunds, shipping, and sales tax, then enable the sync. NeonPanel handles authentication, settlement parsing, COGS calculation, and journal posting on an ongoing basis. Historical TikTok Shop data can be imported from a chosen start date.</p>
4221        </div>
4222      </div>
4223      
4224      <div class="np-faq-item">
4225        <button type="button" class="np-faq-question" aria-expanded="false">
4226          <span>Export and import TikTok Shop financial data into accounting software</span>
4227          
4228<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4229  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4230</svg>
4231
4232        </button>
4233        <div class="np-faq-answer" hidden>
4234          <p>TikTok Seller Center supports manual export of financial reports, but the format is not directly importable into QuickBooks Online without transformation. NeonPanel removes the export/import step entirely — TikTok Shop financial data is read via the official API, normalised into accounting structures (settlement lines, fee categories, COGS, sales tax), and pushed to QuickBooks Online on an ongoing basis. The underlying detail remains exportable as CSV from NeonPanel for audit.</p>
4235        </div>
4236      </div>
4237      
4238      <div class="np-faq-item">
4239        <button type="button" class="np-faq-question" aria-expanded="false">
4240          <span>Does NeonPanel handle TikTok Shop sales tax in QuickBooks Online?</span>
4241          
4242<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4243  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4244</svg>
4245
4246        </button>
4247        <div class="np-faq-answer" hidden>
4248          <p>Yes. Sales tax collected by TikTok Shop is recorded against the correct tax accounts in QuickBooks Online based on jurisdiction-specific rules you configure during setup. Marketplace-collected tax is treated separately from seller-collected tax so the liability accounts stay accurate.</p>
4249        </div>
4250      </div>
4251      
4252      <div class="np-faq-item">
4253        <button type="button" class="np-faq-question" aria-expanded="false">
4254          <span>How are TikTok Shop COGS calculated?</span>
4255          
4256<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4257  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4258</svg>
4259
4260        </button>
4261        <div class="np-faq-answer" hidden>
4262          <p>NeonPanel calculates COGS on a true FIFO basis using actual purchase prices and landed costs (freight, duties, insurance) for each batch. The COGS posted to QuickBooks Online alongside each TikTok payout reflects what the inventory really cost, not an average — which is what makes margin reporting trustworthy.</p>
4263        </div>
4264      </div>
4265      
4266      <div class="np-faq-item">
4267        <button type="button" class="np-faq-question" aria-expanded="false">
4268          <span>Can I sync historical data from TikTok Shop?</span>
4269          
4270<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4271  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4272</svg>
4273
4274        </button>
4275        <div class="np-faq-answer" hidden>
4276          <p>Yes. NeonPanel can import historical TikTok Shop transactions from a chosen start date so your QuickBooks books are complete from day one of the integration.</p>
4277        </div>
4278      </div>
4279      
4280      <div class="np-faq-item">
4281        <button type="button" class="np-faq-question" aria-expanded="false">
4282          <span>Do you offer onboarding support?</span>
4283          
4284<svg class="np-faq-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4285  <path d="M5 12.5L10 7.5L15 12.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
4286</svg>
4287
4288        </button>
4289        <div class="np-faq-answer" hidden>
4290          <p>Yes. Professional plans include onboarding calls. The team works alongside your accountant to configure NeonPanel, the TikTok Shop connection, and the QuickBooks Chart of Accounts mapping so the integration matches your business structure.</p>
4291        </div>
4292      </div>
4293      
4294    </div>
4295  </div>
4296</section>
4297
4298
4299</main>
4300
4301  </div>
4302  
4303
4304
4305
4306<footer class="np-footer">
4307  <div class="np-footer__brand-row">
4308    <div class="np-footer__container">
4309      <div class="np-footer__brand">
4310        <a href="/" class="np-footer__brand-link">
4311          <img src="/images/neonpanel-logo.svg" alt="NeonPanel" width="160" height="38" loading="lazy">
4312        </a>
4313        <p class="np-footer__brand-tagline">The ecommerce finance platform that gets your numbers right.</p>
4314      </div>
4315    </div>
4316  </div>
4317  <div class="np-footer__main">
4318    <div class="np-footer__container">
4319      
4320      
4321      <div class="np-footer__column np-footer__column--features">
4322        <p class="np-footer__title">Modules</p>
4323        <div class="np-footer__feature-groups">
4324          
4325          <div class="np-footer__feature-group">
4326            <p class="np-footer__group-title"><a href="/inventory-management">Inventory Management</a></p>
4327            
4328            
4329            <ul class="np-footer__links np-footer__links--nested">
4330              <li><a href="/inventory-management-amazon">Amazon</a></li>
4331              <li><a href="/inventory-management-shopify">Shopify</a></li>
4332              <li><a href="/multi-channel-inventory-management">Multi-channel inventory</a></li>
4333              <li><a href="/landed-cost-fifo">Landed Cost Management</a></li>
4334            </ul>
4335            
4336          </div>
4337          
4338          
4339          <div class="np-footer__feature-group">
4340            <p class="np-footer__group-title"><a href="/accounting-ecommerce">Ecommerce Accounting</a></p>
4341            
4342            
4343            <ul class="np-footer__links np-footer__links--nested">
4344              <li><a href="/accounting-amazon">Amazon</a></li>
4345              <li><a href="/accounting-shopify">Shopify</a></li>
4346              <li><a href="/automatic-cogs">Automatic COGS</a></li>
4347              <li><a href="/amazon-p-and-l-statement">Amazon P&amp;L Statement</a></li>
4348            </ul>
4349            
4350          </div>
4351          
4352          
4353          <div class="np-footer__feature-group">
4354            <p class="np-footer__group-title"><a href="/inventory-forecasting">Inventory Forecasting &amp; Planning</a></p>
4355            
4356            
4357            <ul class="np-footer__links np-footer__links--nested">
4358              <li><a href="/inventory-forecasting/amazon">Amazon</a></li>
4359              <li><a href="/inventory-forecasting/shopify">Shopify</a></li>
4360            </ul>
4361            
4362          </div>
4363          
4364          
4365          <div class="np-footer__feature-group">
4366            
4367            <p class="np-footer__group-title"><a href="/inventory-management-analytics">Inventory Analytics</a></p>
4368            
4369            
4370            
4371            <ul class="np-footer__links np-footer__links--nested">
4372              <li><a href="/analytics-amazon">Amazon</a></li>
4373              <li><a href="/analytics-shopify">Shopify</a></li>
4374            </ul>
4375            
4376          </div>
4377          
4378          
4379          
4380          
4381          
4382          
4383          
4384          
4385          
4386          <div class="np-footer__feature-group np-footer__feature-group--full">
4387            
4388            
4389            <details class="np-footer__accordion">
4390              <summary class="np-footer__accordion-summary">
4391                <span class="np-footer__accordion-summary-row">
4392                  <svg class="np-footer__accordion-chevron" width="10" height="10" viewBox="0 0 10 10" fill="none" aria-hidden="true">
4393                    <path d="M3.25 1.5L6.75 5l-3.5 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
4394                  </svg>
4395                  <span class="np-footer__accordion-title">Amazon Logistics</span>
4396                </span>
4397              </summary>
4398              <div class="np-footer__accordion-panel">
4399                <a href="/amazon-logistics" class="np-footer__accordion-hub">Overview</a>
4400                <ul class="np-footer__links np-footer__links--nested np-footer__links--accordion">
4401                  <li><a href="/logistics-realtime-tracking">Real-Time Tracking</a></li>
4402                  <li><a href="/logistics-automated-fba">Automated FBA</a></li>
4403                  <li><a href="/logistics-supply-chain">Supply Chain</a></li>
4404                  <li><a href="/logistics-multichannel-fulfillment">Multi-Channel Fulfillment</a></li>
4405                </ul>
4406              </div>
4407            </details>
4408            
4409          </div>
4410          
4411          
4412          
4413          
4414          <div class="np-footer__feature-group">
4415            <p class="np-footer__group-title np-footer__group-title--static">AI &amp; Agents</p>
4416            
4417            <ul class="np-footer__links np-footer__links--nested">
4418              <li><a href="/ai">AI</a></li>
4419              <li><a href="/mcp-access">MCP Access</a></li>
4420              <li><a href="/claude-plugin">Claude Plugin</a></li>
4421              <li><a href="/slack">Agents in Slack</a></li>
4422              <li><a href="/viktor-plugin">Viktor</a></li>
4423            </ul>
4424            
4425          </div>
4426          
4427        </div>
4428      </div>
4429      
4430
4431      
4432      
4433      <div class="np-footer__column np-footer__column--integrations">
4434        <p class="np-footer__title">Integrations</p>
4435        
4436        <div class="np-footer__integration-stack">
4437          <div class="np-footer__integration-block">
4438            <p class="np-footer__integration-heading"><a href="/quickbooks-integration">QuickBooks</a></p>
4439            <ul class="np-footer__links np-footer__links--integration">
4440              <li><a href="/tiktok-shop-to-quickbooks">TikTok Shop to QuickBooks</a></li>
4441              <li><a href="/amazon-to-quickbooks">Amazon to QuickBooks</a></li>
4442              <li><a href="/shopify-to-quickbooks">Shopify to QuickBooks</a></li>
4443            </ul>
4444          </div>
4445          <div class="np-footer__integration-block np-footer__integration-block--divider">
4446            <p class="np-footer__integration-heading"><a href="/xero-integration">Xero</a></p>
4447            <ul class="np-footer__links np-footer__links--integration">
4448              <li><a href="/tiktok-shop-to-xero">TikTok Shop to Xero</a></li>
4449              <li><a href="/amazon-to-xero">Amazon to Xero</a></li>
4450              <li><a href="/shopify-to-xero">Shopify to Xero</a></li>
4451            </ul>
4452          </div>
4453        </div>
4454      </div>
4455      
4456
4457      
4458      <div class="np-footer__column">
4459        <p class="np-footer__title">Resources</p>
4460        <ul class="np-footer__links">
4461          <li><a href="/how-it-works" data-np-source="footer_resources_how-it-works">How It Works</a></li>
4462          <li><a href="/onboarding">Onboarding</a></li>
4463          <li><a href="/amazon-reconciliation">Amazon Reconciliation</a></li>
4464          <li><a href="/blog">Blog</a></li>
4465          <li><a href="/glossary">Glossary</a></li>
4466          <li><a href="https://neonpanel.elevio.help/en">Knowledge Base</a></li>
4467          <li><a href="/case-studies">Case Studies</a></li>
4468          <li><a href="/chrome-extension">Chrome Extension</a></li>
4469          <li><a href="https://www.youtube.com/@true_neonpanel">YouTube Channel</a></li>
4470        </ul>
4471      </div>
4472
4473      
4474      <div class="np-footer__column">
4475        <p class="np-footer__title">Company</p>
4476        <ul class="np-footer__links">
4477          <li><a href="/pricing">Pricing</a></li>
4478          <li><a href="/solutions">Solutions</a></li>
4479          <li><a href="/essentials-vs-professional">Plan Comparison</a></li>
4480          <li><a href="/for-agencies">For Agencies</a></li>
4481          <li><a href="/contact-us">Contact Us</a></li>
4482          <li><a href="/affiliate-program">Affiliate Program</a></li>
4483          <li><a href="/editorial-policy">Editorial Policy</a></li>
4484          <li><a href="/privacy">Privacy Policy</a></li>
4485          <li><a href="/terms">Terms & Conditions</a></li>
4486          <li><a href="#" data-np-action="cookie-preferences">Cookie Preferences</a></li>
4487          <li><a href="#" data-np-action="do-not-sell">Do Not Sell or Share My Personal Information</a></li>
4488        </ul>
4489      </div>
4490    </div>
4491  </div>
4492
4493  
4494  <div class="np-footer__bottom">
4495    <div class="np-footer__container">
4496      <div class="np-footer__copyright">
4497        <span>© 2026 NeonPanel</span>
4498        <a href="#np-header" class="np-footer__back-to-top">
4499          Back to top
4500          <svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
4501            <path d="M6 2L2 6l1.41 1.41L6 4.83l2.59 2.58L10 6l-4-4z"/>
4502          </svg>
4503        </a>
4504      </div>
4505    </div>
4506  </div>
4507</footer>
4508
4509<style>
4510/* Footer Main Section */
4511.np-footer {
4512  background-color: #fafafa;
4513  color: #333333;
4514}
4515
4516.np-footer__brand-row {
4517  padding: 48px 0 0;
4518}
4519
4520.np-footer__brand {
4521  display: flex;
4522  flex-direction: column;
4523  gap: 10px;
4524}
4525
4526.np-footer__brand-link {
4527  display: inline-block;
4528  line-height: 0;
4529}
4530
4531.np-footer__brand-tagline {
4532  font-family: 'Inter', Arial, sans-serif;
4533  font-size: 15px;
4534  color: #666;
4535  margin: 0;
4536  max-width: 400px;
4537  line-height: 1.5;
4538}
4539
4540.np-footer__main {
4541  padding: 32px 0 40px;
4542  border-bottom: 1px solid #e5e7eb;
4543}
4544
4545.np-footer__container {
4546  max-width: 1200px;
4547  margin: 0 auto;
4548  padding: 0 40px;
4549}
4550
4551.np-footer__main .np-footer__container {
4552  display: grid;
4553  grid-template-columns: repeat(4, minmax(0, 1fr));
4554  gap: 24px 28px;
4555  align-items: stretch;
4556}
4557
4558/* Each top-level column is a separate “card” so Features / Integrations / More don’t blur together */
4559.np-footer__main .np-footer__container > .np-footer__column {
4560  display: flex;
4561  flex-direction: column;
4562  gap: 16px;
4563  min-width: 0;
4564  background: #ffffff;
4565  border: 1px solid #e2e8f0;
4566  border-radius: 12px;
4567  padding: 22px 24px 26px;
4568  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
4569}
4570
4571/* Features: single column; optional <details> accordion for busy sections */
4572.np-footer__column--features {
4573  min-width: 0;
4574}
4575
4576.np-footer__feature-groups {
4577  display: flex;
4578  flex-direction: column;
4579  gap: 18px;
4580  align-content: start;
4581}
4582
4583.np-footer__feature-group {
4584  margin: 0;
4585  min-width: 0;
4586}
4587
4588.np-footer__feature-group--full {
4589  padding-top: 14px;
4590  margin-top: 4px;
4591  border-top: 1px solid #cbd5e1;
4592}
4593
4594.np-footer__accordion {
4595  margin: 0;
4596  border: 0;
4597  padding: 0;
4598}
4599
4600.np-footer__accordion-summary {
4601  list-style: none;
4602  cursor: pointer;
4603  font-family: 'Inter', Arial, sans-serif;
4604  font-size: 13px;
4605  font-weight: 600;
4606  color: #000000;
4607  padding: 2px 0;
4608  user-select: none;
4609}
4610
4611.np-footer__accordion-summary::-webkit-details-marker {
4612  display: none;
4613}
4614
4615.np-footer__accordion-summary::marker {
4616  display: none;
4617}
4618
4619.np-footer__accordion-summary-row {
4620  display: inline-flex;
4621  align-items: center;
4622  gap: 8px;
4623}
4624
4625.np-footer__accordion-chevron {
4626  flex-shrink: 0;
4627  color: #5f59f0;
4628  transition: transform 0.2s ease;
4629}
4630
4631.np-footer__accordion[open] .np-footer__accordion-chevron {
4632  transform: rotate(90deg);
4633}
4634
4635.np-footer__accordion-title {
4636  color: #000000;
4637}
4638
4639.np-footer__accordion-summary:hover .np-footer__accordion-title {
4640  color: #5f59f0;
4641}
4642
4643.np-footer__accordion-panel {
4644  padding: 10px 0 0 18px;
4645  margin: 0;
4646  border-left: 2px solid #e8e9f4;
4647}
4648
4649.np-footer__accordion-hub {
4650  display: inline-block;
4651  font-family: 'Inter', Arial, sans-serif;
4652  font-size: 13px;
4653  font-weight: 600;
4654  color: #5f59f0 !important;
4655  text-decoration: none;
4656  margin-bottom: 8px;
4657}
4658
4659.np-footer__accordion-hub:hover {
4660  text-decoration: underline;
4661}
4662
4663.np-footer__links--accordion {
4664  margin-top: 4px;
4665}
4666
4667/* Integrations: vertical stack, full destination in each link */
4668.np-footer__integration-stack {
4669  display: flex;
4670  flex-direction: column;
4671  gap: 0;
4672}
4673
4674.np-footer__integration-block {
4675  margin: 0;
4676}
4677
4678.np-footer__integration-block--divider {
4679  margin-top: 18px;
4680  padding-top: 18px;
4681  border-top: 1px solid #cbd5e1;
4682}
4683
4684.np-footer__integration-heading {
4685  font-family: 'Inter', Arial, sans-serif;
4686  font-size: 13px;
4687  font-weight: 600;
4688  color: #000000 !important;
4689  margin: 0 0 8px 0;
4690  line-height: 1.35;
4691}
4692
4693.np-footer__integration-heading a {
4694  color: inherit !important;
4695  text-decoration: none;
4696  transition: color 0.2s ease;
4697}
4698
4699.np-footer__integration-heading a:hover {
4700  color: #5f59f0 !important;
4701}
4702
4703.np-footer__links--integration {
4704  gap: 8px;
4705}
4706
4707.np-footer__links--integration a {
4708  font-size: 13px;
4709  color: #333333 !important;
4710}
4711
4712.np-footer__links--integration a:hover {
4713  color: #5f59f0 !important;
4714}
4715
4716.np-footer__group-title {
4717  font-family: 'Inter', Arial, sans-serif;
4718  font-size: 13px;
4719  font-weight: 600;
4720  color: #000000 !important;
4721  margin: 0 0 6px 0;
4722  line-height: 1.35;
4723}
4724
4725.np-footer__group-title a {
4726  color: inherit !important;
4727  text-decoration: none;
4728  transition: color 0.2s ease;
4729}
4730
4731.np-footer__group-title a:hover {
4732  color: #5f59f0 !important;
4733}
4734
4735.np-footer__group-title--static {
4736  margin-bottom: 6px;
4737}
4738
4739.np-footer__links--nested {
4740  gap: 6px;
4741}
4742
4743.np-footer__links--nested a {
4744  font-size: 13px;
4745  color: #333333 !important;
4746}
4747
4748.np-footer__links--nested a:hover {
4749  color: #5f59f0 !important;
4750}
4751
4752/* Primary column label — reads clearly as its own category vs. body links */
4753.np-footer__title {
4754  font-family: 'Inter', Arial, sans-serif;
4755  font-size: 12px;
4756  font-weight: 700;
4757  letter-spacing: 0.11em;
4758  text-transform: uppercase;
4759  color: #3d2e7c !important;
4760  margin: 0 0 4px 0;
4761  padding-bottom: 12px;
4762  border-bottom: 2px solid #5f59f0;
4763}
4764
4765.np-footer__links {
4766  list-style: none;
4767  margin: 0;
4768  padding: 0;
4769  display: flex;
4770  flex-direction: column;
4771  gap: 12px;
4772}
4773
4774.np-footer__links a {
4775  font-family: 'Inter', Arial, sans-serif;
4776  font-size: 14px;
4777  font-weight: 400;
4778  color: #000000 !important;
4779  text-decoration: none;
4780  transition: color 0.2s ease;
4781}
4782
4783.np-footer__links a:hover {
4784  color: #5f59f0 !important;
4785}
4786
4787/* Footer Bottom Section */
4788.np-footer__bottom {
4789  padding: 32px 0;
4790}
4791
4792.np-footer__bottom .np-footer__container {
4793  display: flex;
4794  align-items: center;
4795  justify-content: flex-end;
4796  flex-wrap: wrap;
4797  gap: 24px;
4798}
4799
4800.np-footer__copyright {
4801  display: flex;
4802  align-items: center;
4803  gap: 24px;
4804  font-family: 'Inter', Arial, sans-serif;
4805  font-size: 14px;
4806  color: #000000 !important;
4807}
4808
4809.np-footer__back-to-top {
4810  display: flex;
4811  align-items: center;
4812  gap: 6px;
4813  font-family: 'Inter', Arial, sans-serif;
4814  font-size: 14px;
4815  font-weight: 500;
4816  color: #000000 !important;
4817  text-decoration: none;
4818  transition: color 0.2s ease;
4819}
4820
4821.np-footer__back-to-top:hover {
4822  color: #5f59f0 !important;
4823}
4824
4825.np-footer__back-to-top svg {
4826  transition: transform 0.2s ease;
4827}
4828
4829.np-footer__back-to-top:hover svg {
4830  transform: translateY(-2px);
4831}
4832
4833/* Tablet Breakpoint */
4834@media (max-width: 980px) {
4835  .np-footer__main .np-footer__container {
4836    grid-template-columns: repeat(2, minmax(0, 1fr));
4837    gap: 24px;
4838  }
4839
4840  .np-footer__column--features {
4841    grid-column: 1 / -1;
4842  }
4843
4844  .np-footer__container {
4845    padding: 0 20px;
4846  }
4847}
4848
4849/* Narrow tablet: keep 2 cols but let Resources/Company wrap naturally */
4850@media (max-width: 680px) {
4851  .np-footer__main .np-footer__container {
4852    grid-template-columns: 1fr 1fr;
4853  }
4854}
4855
4856/* Mobile Breakpoint */
4857@media (max-width: 640px) {
4858  .np-footer__main {
4859    padding: 40px 0 30px;
4860  }
4861
4862  .np-footer__main .np-footer__container {
4863    grid-template-columns: 1fr;
4864    gap: 32px;
4865  }
4866
4867  .np-footer__bottom .np-footer__container {
4868    flex-direction: column;
4869    text-align: center;
4870  }
4871
4872  .np-footer__copyright {
4873    flex-direction: column;
4874    gap: 12px;
4875  }
4876}
4877</style>
4878
4879<script>
4880// Smooth scroll to top
4881document.addEventListener('DOMContentLoaded', function() {
4882  const backToTop = document.querySelector('.np-footer__back-to-top');
4883  
4884  if (backToTop) {
4885    backToTop.addEventListener('click', function(e) {
4886      e.preventDefault();
4887      window.scrollTo({
4888        top: 0,
4889        behavior: 'smooth'
4890      });
4891    });
4892  }
4893});
4894</script>
4894
4895
4896    <!-- Optional Google Ads click conversions: set `window.NP_GADS = { signup: 'AW-…/LABEL', demo: 'AW-…/LABEL' }` in extra_head (see docs/google-ads-conversion-setup.md) -->
4897  
4897<script>window.NP_GADS = window.NP_GADS || {};</script>
4897
4898  
4898<script src="/assets/js/site.js" defer></script>
4898
4899  
4900  
4901
4902  <!-- Third-Party Scripts — consent-gated via NP.loadThirdPartyTrackers() -->
4903  
4903<script>
4904  (function() {
4905    var NP = window.NP = window.NP || {};
4906    var delay = 3000;
4907    var loaded = false;
4908
4909    function addPreconnects() {
4910      var domains = [
4911        'https://connect.facebook.net',
4912        'https://www.googletagmanager.com',
4913        'https://www.google-analytics.com',
4914        'https://snap.licdn.com'
4915      ];
4916      domains.forEach(function(href) {
4917        var link = document.createElement('link');
4918        link.rel = 'preconnect';
4919        link.href = href;
4920        document.head.appendChild(link);
4921      });
4922    }
4923
4924    function loadThirdParty() {
4925      if (loaded) return;
4926      loaded = true;
4927
4928      addPreconnects();
4929
4930      // Meta Pixel
vendor: 453 bytes, lines 4930-4939
4930
4931      !function(f,b,e,v,n,t,s)
4932      {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
4933      n.callMethod.apply(n,arguments):n.queue.push(arguments)};
4934      if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
4935      n.queue=[];t=b.createElement(e);t.async=!0;
4936      t.src=v;s=b.getElementsByTagName(e)[0];
4937      s.parentNode.insertBefore(t,s)}(window, document,'script',
4938      'https://connect.facebook.net/en_US/fbevents.js');
4939      fbq('init', '
49394525350761073159
vendor: 43 bytes, lines 4939-4942
4939');
4940      fbq('track', 'PageView');
4941
4942      
4942// HubSpot tracking (45816121.js). Chat widget is suppressed via hsConversationsSettings.loadImmediately in <head>.
4943      var hsScript = document.createElement('script');
4944      hsScript.type = 'text/javascript';
4945      hsScript.id = 'hs-script-loader';
4946      hsScript.async = true;
4947      hsScript.defer = true;
4948      hsScript.src = '//js.hs-scripts.com/45816121.js';
4949      document.head.appendChild(hsScript);
4950
4951      // Google Tag Manager
4952      window.dataLayer = window.dataLayer || [];
vendor: 413 bytes, lines 4952-4962
4952
4953      (function(w,d,s,l,i){
4954        w[l]=w[l]||[];
4955        w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
4956        var f=d.getElementsByTagName(s)[0],
4957          j=d.createElement(s),
4958          dl=l!='dataLayer'?'&l='+l:'';
4959        j.async=true;
4960        j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;
4961        f.parentNode.insertBefore(j,f);
4962      })(window,document,'script','dataLayer','
4962GTM-57CMGLWK
vendor: 11 bytes, lines 4962-4964
4962');
4963
4964      
4964// Google Ads & Analytics
4965      var script = document.createElement('script');
4966      script.src = 'https://www.googletagmanager.com/gtag/js?id=AW-17641276459';
4967      script.async = true;
4968      document.head.appendChild(script);
4969      script.onload = function() {
4970        
vendor: 151 bytes, lines 4970-4973
4970window.dataLayer = window.dataLayer || [];
4971        function gtag(){dataLayer.push(arguments);}
4972        gtag('js', new Date());
4973        gtag('config', '
4973AW-17641276459
vendor: 12 bytes, lines 4973-4974
4973');
4974        
4974gtag('config', 'G-SYDXP0Q7RE');
4975      };
4976
4977      // LinkedIn Insight Tag (partner 9048026)
4978      _linkedin_partner_id = "9048026";
4979      window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
4980      window._linkedin_data_partner_ids.push(_linkedin_partner_id);
4981      (function(l) {
4982        if (!l) {
4983          window.lintrk = function(a, b) { window.lintrk.q.push([a, b]); };
4984          window.lintrk.q = [];
4985        }
4986        var s = document.getElementsByTagName("script")[0];
4987        var b = document.createElement("script");
4988        b.type = "text/javascript";
4989        b.async = true;
4990        b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
4991        s.parentNode.insertBefore(b, s);
4992      })(window.lintrk);
4993    }
4994
4995    NP.loadThirdPartyTrackers = loadThirdParty;
4996
4997    if (NP.analyticsConsent === 'accepted') {
4998      if ('requestIdleCallback' in window) {
4999        requestIdleCallback(function() {
5000          setTimeout(loadThirdParty, delay);
5001        });
5002      } else {
5003        setTimeout(loadThirdParty, delay);
5004      }
5005    }
5006  })();
5007  </script>
5007
5008
5009  <!-- Neon Chat Widget -->
5010  <link rel="stylesheet" href="/css/neon.css?v=1" media="print" onload="this.media='all'">
5011  <noscript><link rel="stylesheet" href="/css/neon.css?v=1"></noscript>
5012  
5012<script src="/js/neon.js?v=2" defer></script>
5012
5013
5014  
5015<div id="np-cookie-consent" class="np-cookie-banner" role="dialog" aria-labelledby="np-cookie-title" aria-hidden="true" hidden>
5016  <div class="np-cookie-banner__inner">
5017    <p class="np-cookie-banner__text" id="np-cookie-title">We use cookies and similar technologies to measure site performance and improve your experience. You can accept or reject non-essential cookies. <a href="/privacy#cookies">Learn more</a></p>
5018    <div class="np-cookie-banner__actions">
5019      <button type="button" id="np-cookie-reject" class="np-cookie-banner__btn np-cookie-banner__btn--reject">Reject</button>
5020      <button type="button" id="np-cookie-accept" class="np-cookie-banner__btn np-cookie-banner__btn--accept">Accept</button>
5021    </div>
5022  </div>
5023</div>
5024<link rel="stylesheet" href="/assets/css/cookie-consent.css" media="print" onload="this.media='all'">
5025<noscript><link rel="stylesheet" href="/assets/css/cookie-consent.css"></noscript>
5026<script src="/assets/js/cookie-consent.js" defer></script>
5026
5027
5028</body>
5029</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.