Rotozoom Sell & Ship — Manual
Transportadoras, finalização da compra e faturas em um só plugin. O Sell & Ship substitui o formulário de endereço padrão do WooCommerce por um seletor de transportadora, cota o preço real a partir da própria API da transportadora, imprime guias de transporte a partir da tela do pedido, acompanha a encomenda até a entrega e emite os documentos de venda que sua contabilidade exige.
- Versão gratuita: todas as integrações de transportadoras, o seletor na finalização da compra, guias de transporte e rastreamento, status de entrega, faturamento e a exportação fiscal para o seu próprio país, e o histórico de reputação de clientes da própria loja.
- Versão Pro: a camada multimoeda e multilíngue, e o tratamento fiscal transfronteiriço (internacional). As transportadoras são gratuitas em todos os países.
Novidades da 1.9.2
- O pedido é sempre na moeda da loja. Quando um comprador navega em outra moeda, a finalização da compra, o pagamento, os e-mails e todos os documentos permanecem na moeda base da loja, e o valor estrangeiro viaja como referência: duas linhas, "Currency for reference:" e "To be paid only in EUR:" (com o código da sua própria moeda), no resumo da finalização, na página de agradecimento, em Minha conta, em todos os e-mails de pedido e nos documentos PDF. Anteriormente, uma moeda trocada podia chegar ao gateway como um número na moeda base sob um código estrangeiro.
- Entrega em palete pela Speedy. Em Configurações → Speedy → "Pallet delivery": "Pallet service" (vazio — "— Do not offer pallets —" — significa desligado, e desligado significa exatamente o comportamento anterior a este recurso), "Default pallet height (cm)" (180) e "Pallet sender (contract address)". Um palete é usado para remessas acima de 50 kg ou cujo volume exceda o que o serviço padrão aceita em um único pacote, apenas para endereço — a Speedy não permite a entrega de um palete em um escritório. No ramo do volume, os dois serviços são cotados e o mais barato é cobrado.
- Pré-verificação de reputação. Quando um cliente sinalizado é reconhecido, o pagamento na entrega agora desaparece 2 segundos depois de o formulário de finalização estar completo (os dois nomes, telefone e um e-mail válido), em vez de somente no envio do pedido. A nova configuração "Do not tell the customer why cash on delivery is unavailable" vem ligada por padrão — o método simplesmente não está ali. Um envio recusado sempre traz seu motivo.
- Um acusador nomeado pode remover o pagamento na entrega. Uma fonte da classe "acusação" que você tenha armado explicitamente com block passa a ser respeitada na finalização; o padrão para esse tipo de fonte continua sendo notify.
- Econt: a lista de conteúdo para um acordo de pagamento por departamento. Quando seu acordo de pagamento na entrega com a Econt é um acordo de departamento, a guia de transporte passa a levar uma lista digital de conteúdo — a Econt recusa tal guia sem ela, e sua etapa de validação não detecta isso.
- Econt: solicitar um mensageiro agora reenvia a guia de transporte completa, porque a chamada de atualização da Econt substitui a etiqueta em vez de corrigi-la parcialmente.
- Costuras para outros plugins: os eventos
rotozoom_ss/shipment_deliverederotozoom_ss/shipment_returned,window.rotozoomSSBlocksApplySaved()para aplicar um endereço salvo na finalização em blocos, e um seletor de transportadora autônomo que pode ser renderizado fora da finalização. O B2B Manager 1.2.0 é o primeiro consumidor dos quatro.
Para iniciantes: o que este plugin faz
Uma finalização de compra do WooCommerce pede um endereço de rua. Uma transportadora quer algo mais preciso: qual escritório, qual armário, qual id de cidade no registro dela, quanto pesa a encomenda e quem paga a entrega. O Sell & Ship faz a ponte entre os dois:
- O comprador escolhe uma transportadora e um tipo de entrega (em um escritório, em um endereço, em um armário de encomendas) e pesquisa a lista real de locais da transportadora, em lista ou em mapa.
- O preço exibido é a cotação da própria transportadora para aquela cesta e aquele destino, não uma taxa fixa que você chutou.
- Quando o pedido chega, você imprime a guia de transporte na tela do pedido e o número de rastreamento vai para o cliente.
- A venda é documentada — fatura ou recibo fiscal — com a numeração que sua lei exige.
Configuração
1. Escolha o país da sua loja
Configurações → Geral → "Store country" decide quais recursos de transportadora e fiscais são exibidos. As abas búlgaras de transportadora e fiscais (Econt, Speedy, BoxNow, NRA H-18, reputação de clientes) aparecem quando a loja opera na Bulgária.
2. Conecte as transportadoras que você usa
Cada transportadora tem sua própria aba — "Econt", "Speedy", "BoxNow" — onde você insere as credenciais do seu contrato e escolhe o remetente (o endereço contratual de onde a remessa é coletada). Use os botões de sincronização para puxar seus endereços contratuais e os serviços que seu contrato realmente permite; o plugin nunca adivinha um serviço que você não tem.
3. Adicione os métodos de transportadora a uma zona de envio
Os métodos de transportadora são métodos de envio comuns do WooCommerce. Adicione os que você oferece à zona de envio do seu país, e o seletor da finalização os apresentará.
4. Configure os documentos
A aba "Invoices" contém os dados da sua empresa, as séries de numeração e as configurações de documentos; "NRA H-18" contém a exportação fiscal para a Bulgária. Os documentos são emitidos no pagamento: um pedido com cartão quando é capturado, um pedido por transferência bancária quando é marcado como em processamento, um pedido com pagamento na entrega quando a entrega é confirmada. Um pedido não pago nunca consome um número.
Referência de recursos
O seletor na finalização da compra
Para um pedido nacional, os campos de endereço padrão são substituídos por:
- botões de transportadora (Econt / Speedy / BoxNow) com seus logotipos,
- cartões de tipo de entrega (em um escritório, em um endereço, em um armário) com o preço de cada um,
- um formulário de local — pesquise um escritório por cidade ou nome, escolha-o na lista ou no mapa, ou preencha um endereço de rua.
O seletor é servido a partir de uma cópia local da nomenclatura da transportadora, então a busca é instantânea; a lista e o mapa leem as mesmas linhas e nunca podem discordar. Funciona na finalização clássica e, em seu próprio formulário, no bloco de Finalização do WooCommerce.
Preços reais da transportadora
A tarifa exibida para um método de transportadora é a cotação da própria transportadora para aquela cesta, brevemente armazenada em cache e recorrendo à sua taxa fixa apenas quando a API falha. Peso e dimensões vêm dos produtos; uma remessa de vários pacotes é dividida e declarada como encomendas separadas.
Guias de transporte e a tela do pedido
Cada pedido recebe um painel "Delivery" com a aba da transportadora:
- pré-visualize e crie a guia de transporte, imprima a etiqueta no tamanho que sua impressora quiser,
- anule uma etiqueta,
- veja o status atual da remessa,
- altere o remetente apenas para este pedido,
- "Request a courier" quando a encomenda é coletada em um endereço.
Rastreamento, status de entrega e devoluções
O plugin acompanha a remessa e registra quando a transportadora confirmou a entrega, e quando uma encomenda é recusada ou retorna. O status "Unclaimed" existe para uma encomenda que o cliente nunca retirou, com seu próprio fluxo de acerto. Os eventos de remessa são publicados para outros plugins como rotozoom_ss/label_created, label_voided, rotozoom_ss/shipment_delivered e rotozoom_ss/shipment_returned.
Entrega em palete (Speedy)
Uma cesta acima de 50 kg, ou volumosa o bastante para que seu peso volumétrico exceda o que o serviço padrão leva em um único pacote, é cotada como palete — um palete EUR de 80 × 120 cm, altura tirada dos produtos ou de "Default pallet height (cm)", apenas para endereço.
Três coisas vale saber antes de ativar:
- A tarifa de palete depende de qual endereço contratual ela é cotada — medido em uma remessa de 153 kg: 29,36 € de um endereço contratual contra 167,46 € de outro, enquanto o serviço padrão de encomendas custa o mesmo a partir de todos eles. É por isso que "Pallet sender (contract address)" é um controle separado.
- Um palete não é automaticamente mais barato. No ramo volumétrico o plugin cota os dois serviços e cobra o mais barato; no ramo "acima de 50 kg" não há alternativa de encomenda.
- Deixar "Pallet service" vazio é um interruptor de desligar de verdade. O plugin então se comporta exatamente como antes do recurso: uma remessa acima de 50 kg simplesmente não recebe tarifa da Speedy. Uma opção ausente conta como desligada, então uma atualização nunca liga o recurso para uma loja que não o escolheu.
Reputação de clientes
Uma camada opcional que pode reter o pagamento na entrega de um cliente cujo histórico de entregas o justifique.
- O histórico de entregas da própria loja está sempre disponível e é sempre gratuito — é de primeira mão, corrigível e seu.
- Registros externos podem ser conectados com sua própria chave de API. Um registro do tipo "estatístico" precisa de uma amostra mínima antes de contar; um registro do tipo "acusação" só remove um método de pagamento se você o armar explicitamente para isso.
- Desde a 1.9.2 a verificação roda 2 segundos depois de o formulário de finalização estar completo, então o método desaparece antes de o comprador chegar a Fazer pedido; a verificação no envio permanece como rede de segurança. "Do not tell the customer why cash on delivery is unavailable" (ligada por padrão) mantém isso silencioso; uma recusa no envio sempre se explica.
- O bloqueio fica deliberadamente trancado atrás de uma constante de servidor que identifica seu proxy, para que o limitador de taxa não possa ser alimentado com um valor escolhido pelo visitante.
Faturas e documentos fiscais
Os documentos são emitidos no pagamento e datados por ele. A fatura de um pedido com pagamento na entrega é datada pela entrega que a transportadora confirmou. Um arquivo mensal exporta as faturas emitidas em um mês escolhido, e a aba NRA H-18 produz o arquivo de auditoria para a autoridade fiscal búlgara.
O faturamento local (do país de origem), o IVA e a exportação fiscal são gratuitos. O tratamento fiscal transfronteiriço é Pro, e é limitado pelo país do pedido na camada de dados, não na interface.
Endereços salvos
Um cliente autenticado pode salvar o ponto para onde uma encomenda vai — mas apenas quando marca "Save this address" e lhe dá um nome, de modo que o catálogo nunca se enche sozinho de endereços de uso único. Os registros de entrega e de faturamento são mantidos como duas listas separadas, porque uma empresa que envia para cinco escritórios ainda deve informar seu número de empresa apenas uma vez. Os pontos salvos são aplicados exatamente pelo mesmo caminho que a lista e o mapa, então não podem sair de sintonia com o seletor.
Localização: moeda e idioma (Pro)
Um widget de duas abas permite que os visitantes naveguem no próprio idioma e moeda, com as taxas atualizadas diariamente a partir do BCE.
Como o dinheiro é tratado (desde a 1.9.2): a conversão é uma conveniência de navegação. O pedido, o pagamento e todos os documentos estão sempre na moeda base da loja, e a moeda escolhida aparece como um par de referência — "Currency for reference:" e "To be paid only in
Multisite
Em uma rede WordPress cada subsite pode ser fixado ao próprio idioma e moeda por meio de um mapa em nível de rede, em vez de ser detectado pelo IP do visitante.
Free vs Pro num relance
| Recurso | Free | Pro |
|---|---|---|
| Integrações de transportadoras, seletor na finalização, cotações reais | ✓ | ✓ |
| Guias de transporte, etiquetas, rastreamento e status de entrega | ✓ | ✓ |
| Entrega em palete (Speedy) | ✓ | ✓ |
| Endereços de entrega salvos | ✓ | ✓ |
| Faturas e exportação fiscal para o seu próprio país | ✓ | ✓ |
| Reputação de clientes: seu próprio histórico de entregas | ✓ | ✓ |
| Reputação de clientes: um registro externo no país | ✓ | ✓ |
| Reputação de clientes: vários registros, registros fora do país, verificações em massa, painel de uso | — | ✓ |
| Camada multimoeda e multilíngue | — | ✓ |
| Tratamento fiscal transfronteiriço (internacional) | — | ✓ |
Notas avançadas
- Uma transportadora que recusa uma guia de transporte quase sempre indica um campo obrigatório ausente, e cada transportadora reporta apenas o primeiro deles. Leia o erro inteiro, incluindo a resposta bruta que o plugin imprime, antes de mudar qualquer outra coisa.
- As chamadas somente leitura são repetidas; uma guia de transporte nunca é repetida. Uma chamada repetida de guia de transporte seria uma segunda encomenda.
- A atualização da nomenclatura substitui uma lista apenas mediante a resposta bem-sucedida dela própria — uma atualização pela metade é registrada e fica visível, em vez de esvaziar silenciosamente o seletor.
- Integrar outro plugin: escute
rotozoom_ss/shipment_deliverederotozoom_ss/shipment_returned(faça você mesmo a deduplicação — a tarefa horária relê), aplique um destino armazenado na finalização em blocos comwindow.rotozoomSSBlocksApplySaved(record)e renderize o seletor fora da finalização com o modo autônomo, que reporta seu resultado como um evento DOMrotozoom-ss:destination. - Limitação conhecida: na finalização em blocos uma proforma para um pedido por transferência bancária não é emitida, porque a Store API do WooCommerce não dispara o hook que o motor de documentos escuta.
Resolução de problemas
- Nenhum escritório no seletor — a nomenclatura local está vazia para aquela transportadora; execute a atualização na aba da transportadora e verifique a aba de status para uma atualização pela metade.
- "There are no shipping options" — a cesta pode estar acima do limite legal de dinheiro para pagamento na entrega, ou mais pesada do que o serviço selecionado aceita; verifique a aba da transportadora e o peso do pedido.
- O pagamento na entrega está faltando para um cliente — a camada de reputação o reteve. O registro de auditoria na aba de reputação indica a fonte e o motivo.
- Um palete é cotado muito caro — compare uma cotação real de cada endereço contratual e defina "Pallet sender (contract address)" de acordo; a tarifa difere por endereço.
- O cliente foi cobrado na moeda errada — atualize para a 1.9.2 ou posterior: os pedidos agora são sempre na moeda base da loja, com o valor estrangeiro exibido apenas para referência.
- Um PDF de etiqueta vazio — reimprima na tela do pedido; um arquivo de zero byte significa que a chamada de impressão foi montada no formato errado e a chamada própria do plugin é a que deve ser usada.
Para conectar uma licença Pro, consulte Instalar e atualizar plugins.