---
title: 'Formulario para o tiktok shop'
date: '2026-08-01T16:15:49-03:00'
type: page
word_count: 1944
char_count: 19788
tokens: 2528
---

# Formulario para o tiktok shop

Diagnóstico TikTok · DF Cont       
        @font-face {
            font-family: '29LT Bukra Condensed';
            src: url('https://fonts.cdnfonts.com/css/29lt-bukra') format('woff2');
            font-display: swap;
        }

        .font-bukra {
            font-family: '29LT Bukra Condensed', sans-serif;
        }

        body {
            font-family: 'Nunito', sans-serif;
            background: #fafaff;
            color: #1A1E2B;
        }

        .glass-card {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(207, 14, 133, 0.12);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            box-shadow: 0 12px 35px -12px rgba(0, 0, 0, 0.08);
        }

        .glass-card:hover {
            transform: translateY(-4px);
            border-color: #CF0E85;
            box-shadow: 0 20px 45px -15px rgba(207, 14, 133, 0.15);
        }

        .form-tiktok p {
            margin-bottom: 0.5rem;
        }

        .form-tiktok label {
            display: block;
            font-weight: 700;
            font-size: 0.95rem;
            color: #1A1E2B;
            margin-top: 1.25rem;
            margin-bottom: 0.5rem;
        }

        .form-tiktok label em {
            color: #CF0E85;
            font-style: normal;
            margin-left: 2px;
        }

        .form-tiktok .radio-group {
            display: flex;
            flex-wrap: wrap;
            gap: 0.6rem 1.5rem;
            background: #f7f7fd;
            padding: 0.9rem 1.4rem;
            border-radius: 2rem;
            border: 1px solid #edecf5;
            align-items: center;
        }

        .form-tiktok .radio-group input[type="radio"] {
            accent-color: #CF0E85;
            width: 1.1rem;
            height: 1.1rem;
            margin-right: 0.25rem;
        }

        .form-tiktok .radio-group label {
            display: inline-flex;
            align-items: center;
            font-weight: 500;
            font-size: 0.9rem;
            color: #1A1E2B;
            margin: 0;
            background: transparent;
            padding: 0.2rem 0.5rem;
            border-radius: 999px;
            cursor: pointer;
            transition: background 0.15s;
        }

        .form-tiktok .radio-group label:hover {
            background: rgba(207, 14, 133, 0.06);
        }

        .form-tiktok input[type="text"] {
            width: 100%;
            padding: 0.8rem 1.4rem;
            border-radius: 2rem;
            border: 1px solid #e2e8f0;
            background: white;
            font-size: 1rem;
            transition: all 0.2s;
        }

        .form-tiktok input:focus {
            border-color: #CF0E85;
            box-shadow: 0 0 0 4px rgba(207, 14, 133, 0.12);
            outline: none;
        }

        .btn-primary {
            background: linear-gradient(135deg, #4801AF, #CF0E85);
            color: white;
            font-weight: 800;
            padding: 0.9rem 2.5rem;
            border-radius: 3rem;
            border: none;
            transition: all 0.3s ease;
            box-shadow: 0 8px 22px -8px rgba(207, 14, 133, 0.4);
            cursor: pointer;
        }

        .btn-primary:hover {
            transform: scale(1.02);
            box-shadow: 0 14px 30px -8px rgba(207, 14, 133, 0.5);
        }

        .btn-primary:disabled {
            opacity: 0.6;
            transform: none;
            cursor: not-allowed;
        }

        .btn-secondary {
            background: #f1f1f8;
            color: #1A1E2B;
            font-weight: 700;
            padding: 0.8rem 2rem;
            border-radius: 3rem;
            border: 1px solid #d6d6e2;
            transition: all 0.2s;
            cursor: pointer;
        }

        .btn-secondary:hover {
            background: #e6e6f0;
        }

        .result-card {
            background: linear-gradient(145deg, #f8f4ff, #fdf2f9);
            border-left: 8px solid #CF0E85;
            border-radius: 2rem;
            padding: 2rem 2.2rem;
            box-shadow: 0 15px 40px -15px rgba(207, 14, 133, 0.15);
        }

        .fade-in {
            animation: fadeUp 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
        }

        @keyframes fadeUp {
            0% {
                opacity: 0;
                transform: translateY(24px);
            }

            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .comparison-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.8rem 1.2rem;
            background: white;
            border-radius: 1.5rem;
            padding: 1.2rem 1.5rem;
            border: 1px solid #e9e6f2;
            margin: 1rem 0;
        }

        .comparison-grid .header {
            font-weight: 800;
            color: #4801AF;
            border-bottom: 2px solid #e9e6f2;
            padding-bottom: 0.4rem;
        }

        .comparison-grid .item {
            display: flex;
            flex-direction: column;
            gap: 0.1rem;
        }

        .comparison-grid .item span:first-child {
            font-weight: 700;
            color: #1A1E2B;
            font-size: 0.9rem;
        }

        .comparison-grid .item span:last-child {
            font-size: 0.85rem;
            color: #4a4a5a;
        }

        .summary-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.5rem 1rem;
            background: white;
            border-radius: 1.2rem;
            padding: 1rem 1.4rem;
            border: 1px solid #e9e6f2;
            margin: 0.5rem 0 1rem 0;
        }

        .summary-grid .label {
            font-weight: 700;
            color: #4801AF;
            font-size: 0.85rem;
        }

        .summary-grid .value {
            font-weight: 500;
            color: #1A1E2B;
            font-size: 0.9rem;
        }

        .spinner {
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top: 2px solid white;
            width: 20px;
            height: 20px;
            animation: spin 0.8s linear infinite;
            display: inline-block;
        }

        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        .form-container {
            transition: opacity 0.5s ease, transform 0.5s ease, max-height 0.5s ease;
            overflow: hidden;
        }

        .form-container.hidden-form {
            opacity: 0;
            transform: scale(0.97);
            max-height: 0;
            margin: 0;
            padding: 0;
            pointer-events: none;
        }

        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1.2rem;
            border-radius: 3rem;
            font-weight: 700;
            font-size: 0.9rem;
        }

        .status-success {
            background: #e6f7ed;
            color: #0b7c4a;
            border: 1px solid #b3e6cc;
        }

        .status-error {
            background: #fde8e8;
            color: #b91c1c;
            border: 1px solid #f5c6c6;
        }

        .scroll-target {
            scroll-margin-top: 20px;
        }

        @media (max-width: 640px) {
            .comparison-grid {
                grid-template-columns: 1fr;
                gap: 0.6rem;
            }

            .summary-grid {
                grid-template-columns: 1fr;
                gap: 0.3rem;
            }

            .form-tiktok .radio-group {
                padding: 0.7rem 1rem;
                gap: 0.4rem 1rem;
            }

            .result-card {
                padding: 1.5rem;
            }
        }
       

 

 

  Diagnóstico Tributário  TikTok Shop: 
 CPF ou CNPJ? 
=============================

 Responda algumas perguntas e descubra o **melhor cenário** para sua estrutura atual.

 

    Preencha com atenção ✍️
-----------------------

Seus dados são seguros e usados apenas para este diagnóstico.

      1. Hoje você é: *\**

  Creator / Afiliado  Seller 

  2. Como você recebe? *\**

  Comissão TikTok  Monetização  Campanhas  Todos 

  3. Há quanto tempo trabalha com TikTok Shop? *\**

  Menos de 3 meses  6 meses  Mais de 1 ano 

  4. Média mensal recebida (some tudo / meses) *\**

  Ainda não recebo  Até R$ 5 mil  R$ 5 a 7 mil  R$ 7 a 10 mil  R$ 10 a 20 mil  Acima de 20 mil 

  5. Há quanto tempo recebe dessa forma? *\**

  Menos de 3 meses  3 a 6 meses  Mais de 6 meses 

  6. Hoje você recebe no CPF ou já possui CNPJ? *\**

  Recebo tudo no CPF  Já possuo CNPJ 

  7. Seu nome completo *\**

   8. WhatsApp (com DDD) *\**

   9. Sua expectativa é:

  Continuar como renda fixa  Transformar em renda principal  Criar uma empresa 

   ENVIAR DIAGNÓSTICO Ao enviar, você receberá uma análise personalizada.

  

 

  ### O que você vai descobrir

- Se é melhor manter CPF ou abrir CNPJ
- Cenário mais vantajoso para seu faturamento
- Próximos passos para regularização
- Custo médio de abertura e manutenção
 


🔍 Diagnóstico gratuito · sem compromisso

 

 

 

  

  ### Diagnóstico concluído 

 

 

  [  Agende uma reunião ](https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3kD8mZ-j6mG156vflajgEsP4c7x0kPfLkfzsyPWv6gYu3A8HeOmLCsC4Vxk6mv6CdDrT7jPI_E)   Novo diagnóstico  

 

 

 

 

 

 

    DFCont  [ Tiktok  ](https://www.tiktok.com/@eudaicrisfernandes)   [ Instagram  ](https://www.instagram.com/daicrisfernandes/)   [ Whatsapp  ](https://wa.me/5511967119436)   [ Youtube  ](https://www.youtube.com/@daicrisfernandes)  

CNPJ: 45.632.368/0001-00

 [](https://dfcont.com) [](https://www.instagram.com/daicrisfernandes/) 

 

   [  ](https://wa.me/5511967119436?text=Olá!%20Fiz%20o%20diagnóstico%20TikTok%20e%20quero%20saber%20mais) 
        lucide.createIcons();

        const form = document.getElementById('tiktokForm');
        const submitBtn = document.getElementById('submitBtn');
        const resultArea = document.getElementById('resultArea');
        const resultMessage = document.getElementById('resultMessage');
        const resultTitle = document.getElementById('resultTitle');
        const statusMessage = document.getElementById('statusMessage');
        const summaryContainer = document.getElementById('summaryContainer');
        const resetBtn = document.getElementById('resetFormBtn');
        const formContainer = document.getElementById('formContainer');

        let isSubmitting = false;

        const labels = {
            Radio: 'Hoje você é',
            Radio1: 'Como recebe',
            Radio2: 'Tempo de atuação',
            Radio3: 'Média mensal',
            Radio4: 'Tempo recebendo',
            Radio5: 'Estrutura atual',
            Radio6: 'Expectativa'
        };

        function getLabelForValue(field, value) {
            if (!value) return '—';
            const map = {
                'Radio': { 'Creator/ Afiliado': 'Creator / Afiliado', 'Seller': 'Seller' },
                'Radio1': { 'Comissão Tiktokshop': 'Comissão TikTok', 'Monetização': 'Monetização', 'Campanhas': 'Campanhas', 'Todos': 'Todos' },
                'Radio2': { 'Menos de 3 meses': 'Menos de 3 meses', '6 meses': '6 meses', 'Mais de 1 ano': 'Mais de 1 ano' },
                'Radio3': { 'Ainda não recebo': 'Ainda não recebo', 'Até R$ 5 mil': 'Até R$ 5 mil', 'Entre R$ 5 e R$ 7 mil': 'R$ 5 a 7 mil', 'Entre R$ 7 e R$ 10 mil': 'R$ 7 a 10 mil', 'R$ 10 mil a 20 mil': 'R$ 10 a 20 mil', 'Acima de 20 mil': 'Acima de 20 mil' },
                'Radio4': { 'Menos de 3 meses': 'Menos de 3 meses', '3 a 6 meses': '3 a 6 meses', 'Mais de 6 meses': 'Mais de 6 meses' },
                'Radio5': { 'Recebo tudo no CPF': 'Recebo tudo no CPF', 'Já possuo CNPJ': 'Já possuo CNPJ' },
                'Radio6': { 'Continuar como renda fixa': 'Continuar como renda fixa', 'Transformar em renda principal': 'Transformar em renda principal', 'Criar uma empresa': 'Criar uma empresa' }
            };
            return (map[field] && map[field][value]) || value;
        }

        function gerarRecomendacao(respostas) {
            const { Radio, Radio1, Radio2, Radio3, Radio4, Radio5, Radio6 } = respostas;

            let faixa = Radio3 || '';
            let tempoAtuacao = Radio2 || '';
            let tempoRecebendo = Radio4 || '';
            let estruturaAtual = Radio5 || '';
            let expectativa = Radio6 || '';

            const faixasAlta = ['Entre R$ 5 e R$ 7 mil', 'Entre R$ 7 e R$ 10 mil', 'R$ 10 mil a 20 mil', 'Acima de 20 mil'];
            const tempoConsistente = ['6 meses', 'Mais de 1 ano'];
            const tempoRecebeConsistente = ['3 a 6 meses', 'Mais de 6 meses'];
            const jaTemCNPJ = estruturaAtual.includes('Já possuo CNPJ');
            const querEmpresa = expectativa.includes('Criar uma empresa') || expectativa.includes('renda principal');

            const faturamentoAlto = faixasAlta.some(f => faixa.includes(f));
            const atuacaoConsistente = tempoConsistente.some(t => tempoAtuacao.includes(t));
            const recebimentoConsistente = tempoRecebeConsistente.some(t => tempoRecebendo.includes(t));

            let recomendacao = 'CPF';

            if (jaTemCNPJ) {
                recomendacao = 'CNPJ';
            } else if (faturamentoAlto || atuacaoConsistente || recebimentoConsistente || querEmpresa) {
                recomendacao = 'CNPJ';
            } else if (faixa.includes('Ainda não recebo') || faixa.includes('Até R$ 5 mil')) {
                recomendacao = 'CPF';
            }

            if (faixa.includes('Até R$ 5 mil') && tempoAtuacao.includes('Mais de 1 ano')) {
                recomendacao = 'CNPJ';
            }

            const tabela = `
                <div class="comparison-grid">
                    <div class="header">Critério

Manter CPF

Abrir CNPJ

FaturamentoAté R$ 5 mil/mês

FaturamentoAcima de R$ 5 mil/mês

Carga tributáriaAté 27,5% IRPF + Carnê-Leão

Carga tributáriaA partir de 6% no Simples Nacional

SegurançaRisco de malha fina

SegurançaNota fiscal, proteção patrimonial

Momento idealIniciantes / testes

Momento idealOperação validada (&gt;3 meses)

 

 `; let msg = ''; if (recomendacao === 'CNPJ') { msg = ` ✅ O melhor cenário para sua estrutura atual: TER CNPJ

Com o seu volume atual de faturamento e constância no TikTok Shop, operar como pessoa física gera uma retenção de impostos muito alta (chegando a 27,5% no IRPF), além de riscos com a Receita Federal. Formalizar a atividade reduz drasticamente a carga tributária (inicialmente a partir de 6% no Simples Nacional) e traz segurança para o seu negócio.

 ${tabela} **Próximos passos:** Vamos agendar uma call de 15 minutos para te explicar como funciona a abertura de um CNPJ, os custos iniciais e a previsão de custos mensais. Essa reunião é totalmente gratuita e nosso time entrará em contato, ou você já pode garantir seu horário por aqui:

 `; } else { msg = ` 🔹 O melhor cenário atual: MANTER NO CPF

Como você está iniciando agora ou os seus ganhos mensais ainda estão na faixa inicial de isenção/tributação simplificada, os custos fixos de manutenção de uma empresa (como contabilidade e taxas) podem pesar mais do que a economia de impostos neste exato momento. O foco agora deve ser validar a sua constância e tração na plataforma.

 ${tabela} De qualquer forma, estruturar o crescimento exige planejamento. Vamos agendar uma call de 15 minutos para te mostrar o momento exato em que valerá a pena virar PJ, além de esclarecer dúvidas sobre os custos futuros. Essa reunião não tem custo e nosso time entrará em contato, ou você já pode garantir seu horário por aqui:

 `; } return { recomendacao, mensagem: msg }; } function scrollToResult() { setTimeout(() =&gt; { resultArea.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'nearest' }); }, 300); } // ----- SUBMIT (APENAS UMA VEZ) ----- form.addEventListener('submit', async (e) =&gt; { e.preventDefault(); if (isSubmitting) return; isSubmitting = true; const getRadioValue = (name) =&gt; { const el = form.querySelector(`input[name="${name}"]:checked`); return el ? el.value : ''; }; const respostas = { Radio: getRadioValue('Radio'), Radio1: getRadioValue('Radio1'), Radio2: getRadioValue('Radio2'), Radio3: getRadioValue('Radio3'), Radio4: getRadioValue('Radio4'), Radio5: getRadioValue('Radio5'), Radio6: getRadioValue('Radio6'), }; // Validação if (!respostas.Radio || !respostas.Radio1 || !respostas.Radio2 || !respostas.Radio3 || !respostas.Radio4 || !respostas.Radio5) { alert('Por favor, responda todas as perguntas obrigatórias (*).'); isSubmitting = false; return; } const nome = form.querySelector('input[name="Name_First"]').value.trim(); const whats = form.querySelector('input[name="PhoneNumber_countrycode"]').value.trim(); if (!nome || !whats) { alert('Preencha seu nome e WhatsApp.'); isSubmitting = false; return; } // Gera diagnóstico const { recomendacao, mensagem } = gerarRecomendacao(respostas); // --- ENVIA O FORMULÁRIO (APENAS UMA VEZ) --- submitBtn.disabled = true; submitBtn.innerHTML = ' Enviando...'; let envioSucesso = false; try { const formData = new FormData(form); const response = await fetch(form.action, { method: 'POST', body: formData, }); envioSucesso = response.ok; } catch (err) { console.warn('Erro no fetch:', err); // Fallback: iframe invisível (apenas se fetch falhar) try { const iframe = document.createElement('iframe'); iframe.name = 'hiddenFrame'; iframe.style.display = 'none'; document.body.appendChild(iframe); form.target = 'hiddenFrame'; form.submit(); setTimeout(() =&gt; { if (document.body.contains(iframe)) { document.body.removeChild(iframe); } form.target = ''; }, 3000); envioSucesso = true; } catch (fallbackErr) { console.warn('Fallback falhou:', fallbackErr); envioSucesso = false; } } finally { submitBtn.disabled = false; submitBtn.innerHTML = ' ENVIAR DIAGNÓSTICO'; lucide.createIcons(); isSubmitting = false; } // --- EXIBE RESULTADO --- if (envioSucesso) { statusMessage.innerHTML = `   ✅ Formulário enviado com sucesso!  `; } else { statusMessage.innerHTML = `   ⚠️ Erro ao enviar, mas seu diagnóstico está pronto.  `; } let summaryHTML = ` ${labels.Radio}

${getLabelForValue('Radio', respostas.Radio)}

${labels.Radio1}

${getLabelForValue('Radio1', respostas.Radio1)}

${labels.Radio2}

${getLabelForValue('Radio2', respostas.Radio2)}

${labels.Radio3}

${getLabelForValue('Radio3', respostas.Radio3)}

${labels.Radio4}

${getLabelForValue('Radio4', respostas.Radio4)}

${labels.Radio5}

${getLabelForValue('Radio5', respostas.Radio5)}

${labels.Radio6}

${getLabelForValue('Radio6', respostas.Radio6) || '—'}

 

 `; summaryContainer.innerHTML = summaryHTML; resultMessage.innerHTML = mensagem; resultArea.classList.remove('hidden'); formContainer.classList.add('hidden-form'); scrollToResult(); lucide.createIcons(); }); // Reset resetBtn.addEventListener('click', () =&gt; { form.reset(); formContainer.classList.remove('hidden-form'); resultArea.classList.add('hidden'); isSubmitting = false; document.querySelector('.glass-card').scrollIntoView({ behavior: 'smooth', block: 'start' }); lucide.createIcons(); }); lucide.createIcons();
