Store (Filial)
A Store representa uma unidade fisica ou logica (filial) dentro de uma Account. Cada Store possui seu proprio caixa, estoque e operacoes.
Descricao
Uma Store e uma filial ou unidade de negocio dentro de um petshop. Permite que empresas com multiplas unidades gerenciem cada uma de forma independente, mantendo a consolidacao de dados na Account.
Dados
Identificacao
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Sim | Nome da filial |
| cnpj | Texto | Sim | CNPJ da unidade |
| fantasy_name | Texto | Nao | Nome fantasia |
| corporate_name | Texto | Nao | Razao social |
Dados Fiscais
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| ie | Texto | Nao | Inscricao Estadual |
| simples | Booleano | Nao | Optante pelo Simples Nacional |
Contato
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| phone | Texto | Nao | Telefone da filial |
| Texto | Nao | Email da filial |
Endereco
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| address_zip_code | CEP | Nao | CEP (formato: XXXXX-XXX) |
| address_street | Texto | Nao | Logradouro |
| address_street_number | Texto | Nao | Numero |
| address_complement | Texto | Nao | Complemento |
| address_neighborhood | Texto | Nao | Bairro |
| address_city | Texto | Nao | Cidade |
| address_state | Texto | Nao | Estado (UF) |
| address_country | Texto | Nao | Pais |
Geolocalizacao (Calculados)
| Campo | Tipo | Descricao |
|---|---|---|
| lat | Decimal | Latitude (auto-calculada) |
| lng | Decimal | Longitude (auto-calculada) |
| address_state_code | Texto | Codigo IBGE do estado |
| address_city_code | Texto | Codigo IBGE da cidade |
Dados da API
| Campo | Tipo | Descricao |
|---|---|---|
| api_cnpj_response | Objeto | Resposta completa da API de CNPJ |
Relacionamentos
Pertence a
| Entidade | Descricao | Obrigatorio |
|---|---|---|
| Account | Conta principal | Sim |
Possui Muitos
| Entidade | Descricao |
|---|---|
| FinancialAccounts | Contas bancarias/caixa |
| PaymentMethods | Metodos de pagamento |
| Deposits | Depositos de estoque |
| Cages | Gaiolas (Beauty Center) |
| Users | Usuarios que trabalham na filial |
| Sales | Vendas realizadas |
| Cashiers | Caixas registradoras |
Regras de Negocio
Criacao de Store
-
Campos Obrigatorios
namedeve estar presentecnpjdeve estar presente- Account deve estar associada
-
Enriquecimento Automatico de Dados
- Ao criar, o sistema consulta a API de CNPJ automaticamente
- Dados da empresa sao preenchidos automaticamente
-
Criacao de Objetos Base
- Deposito padrao e criado automaticamente
- Conta financeira (Tesouraria) e criada automaticamente
- Metodos de pagamento sao copiados dos templates
Validacoes
| Campo | Validacao |
|---|---|
| name | Obrigatorio |
| cnpj | Obrigatorio |
Consulta CNPJ
Ao criar uma Store, o sistema automaticamente:
Campos Preenchidos pela API
| Campo Store | Campo API |
|---|---|
| corporate_name | razao_social |
| fantasy_name | estabelecimento.nome_fantasia |
| phone | estabelecimento.ddd1 + telefone1 |
| estabelecimento.email | |
| simples | simples.simples == "Sim" |
| ie | estabelecimento.inscricoes_estaduais[0] |
| address_* | estabelecimento.* |
| address_state_code | estabelecimento.estado.ibge_id |
| address_city_code | estabelecimento.cidade.ibge_id |
Geolocalizacao
- Coordenadas sao calculadas automaticamente usando o endereco
- Usa servico de geocoding (Geocoder)
- So calcula se lat/lng ainda nao existem
- Se geocoding falhar, Store salva sem coordenadas
Automacoes
Ao Criar Store
Objetos Criados Automaticamente
Deposito Padrao
| Campo | Valor |
|---|---|
| name | "Deposito padrao" |
| actived | true |
Conta Financeira (Tesouraria)
| Campo | Valor |
|---|---|
| name | "Tesouraria" |
| type | "physical" (caixa fisico) |
| financial_category | Categoria "Ajuste" |
Metodos de Pagamento
- Copiados dos templates do sistema (DefaultPaymentMethod)
- Cada template gera um PaymentMethod especifico da Store
- Inclui opcoes de parcelamento
CNAEs Fiscais
- Criados a partir da resposta da API de CNPJ
- Um registro para atividade principal
- Um registro para cada atividade secundaria
Campos Calculados
short_name
Retorna o nome de exibicao da Store:
- Se
fantasy_nameexiste: retorna fantasy_name - Caso contrario: retorna name
address_full_name
Endereco formatado para geocoding:
{street}, {number}, {neighborhood}, {city}, {state}
regime
Regime tributario para emissao de notas:
- Se
simples= true: "simples" - Caso contrario: "normal"
Permissoes
| Acao | Quem Pode |
|---|---|
| Criar | Owner, usuarios com permissao |
| Editar | Owner, usuarios com permissao |
| Selecionar | Usuarios da Account |
| Excluir | Nao permitido |
Selecao de Store
Usuarios podem trocar entre Stores da mesma Account:
- Usuario clica em "Selecionar" na Store desejada
- Sistema atualiza
current_store_iddo usuario - Todos os dados filtrados passam a mostrar a nova Store
- Algumas visualizacoes mostram "Conta Global" (todas as Stores)
Integracao com Notas Fiscais
A Store fornece dados essenciais para emissao de NF-e/NFC-e:
| Dado | Uso |
|---|---|
| CNPJ | Identificacao do emitente |
| IE | Inscricao Estadual |
| Endereco completo | Endereco do emitente |
| Regime tributario | Calculo de impostos |
| Codigos IBGE | Identificacao geografica |
Restricoes Importantes
- Minimo Uma Store: Toda Account deve ter pelo menos uma Store
- CNPJ Unico: Cada Store deve ter seu proprio CNPJ
- Isolamento por Account: Stores so podem pertencer a uma Account
- Contexto de Usuario: Usuario sempre trabalha em uma Store por vez
- Dados Compartilhados: Clientes e pets sao compartilhados entre Stores da mesma Account
Configuracoes por Store
Cada Store pode ter configuracoes independentes para:
- PDV (Ponto de Venda)
- CRM (Gestao de Clientes)
- Beauty Center (Estetica)
- Stock (Estoque)
- Delivery (Entregas)
- Tax (Fiscal)
Isso permite que cada filial opere com regras especificas.