Forum Replies Created

Viewing 15 replies - 1 through 15 (of 67 total)
  • Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    Para uma melhor análise aos erros reportados, agradecia que contactasse o suporte ao cliente Moloni diretamente, para que possam acompanhar o seu caso.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    É possível emitir um documento automaticamente sempre que um pedido é finalizado.

    Para tal, no menu de configurações do Moloni, ative a opção de “Criação automática de documentos”. Em seguida, defina os tipos de documentos que pretende gerar automaticamente, como faturas ou recibos, e ajuste preferências adicionais, como envio automático por e-mail e sincronização de produtos. Por fim, guarde as configurações.

    Forum: Plugins
    In reply to: [Moloni] PHP Fatal Error
    Plugin Author Moloni

    (@molonidevteam)

    Hi!

    Could please update to the latest version and check if the error still happens?

    Thank you!

    Plugin Author Moloni

    (@molonidevteam)

    Estimado cliente,

    Antes demais, agradecemos as suas palavras. Trabalhamos diariamente para dar aos nossos utilizadores as melhores ferramentas do mercado para que todo o trabalho seja mais fácil.

    Relativamente ao erro reportado, pode parecer estranho por ser uma sequência de números de 1 até 9, mas o contribuinte “123456789” é de facto um contribuinte válido e associado a uma entidade portuguesa 😉

    Por esse motivo, não podemos bloquear o contribuinte e dá-lo como inválido.

    Cumprimentos,

    Plugin Author Moloni

    (@molonidevteam)

    Estimado cliente,

    De momento o plugin ainda não funciona corretamente com blocos do WooCommerce.
    No entanto, temos já preparada uma atualização que iremos lançar brevemente para que o plugin suporte os novos blocos do WooCommerce.

    Se pretender, podemos enviar-lhe uma versão beta para poder testar e usar já na sua loja online.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia.

    Os produtos podem ser movidos de categoria na sincronização de artigos (WooCommerce -> Moloni), e não na sincronização de stocks. Esta situação pode ocorrer se tiver a opção “Atualizar artigos” ativa nas configurações do plugin.

    Se tiver a opção ativa, poderá, por exemplo, implementar um filtro que altera os valores de atualização de artigos. Neste filtro podemos remover a categoria. Segue o seguinte filtro como exemplo de implementação.

    add_filter('moloni_before_moloni_product_update', [$this, 'moloni_before_moloni_product_update']); function moloni_before_moloni_product_update($props) { if (isset($props['category_id'])) { unset($props['category_id']); } return $props; }

    (referência: https://github.com/moloni-pt/woocommerce/blob/4ea23a5ef9230047af25a38e24aa953f38c928f6/src/Controllers/Product.php#L142)

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    De facto, na versão 4.7.1 o plugin Moloni deixou de usar o hook “woocommerce_order_status_completed” e começou a usar o hook “woocommerce_order_status_changed”.

    Esta alteração foi realizada para permitir um maior número de estados na criação automática de documentos. Internamente o hook “woocommerce_order_status_changed” (usado agora) corre depois do hook “woocommerce_order_status_completed”, o que pode causar o problema indicado. (referência: https://github.com/woocommerce/woocommerce/blob/f61bdd51d5b7d2432d42defa934e05b64e2015db/plugins/woocommerce/includes/class-wc-order.php#L421)

    A automatização da exportação da encomenda é configurada no plugin que mencionou ou é uma implementação sua do hook “woocommerce_order_status_completed”?

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia.

    O plugin tem disponível vários filtros (hooks) que permitem personalizar a criação de documentos. Se pretendem acrescentar informações nas observações do documento, poderá ser feito através do filtro (hook) “moloni_before_insert_document”.

    Este filtro corre mesmos antes de inserir o documento na conta Moloni. Referência do filtro: https://github.com/moloni-pt/woocommerce/blob/4ea23a5ef9230047af25a38e24aa953f38c928f6/src/Controllers/Documents.php#L267

    Sugerimos a implementação deste filtro:

    function moloni_before_insert_document($document_builder) { 
    // Secção meramente demonstrativa 
        $adse_information = "Nome: XXX"; 
        $adse_information .= "<br>"; // Quebra de linha 
        $adse_information = "Número: XXX"; 
        $document_builder->notes = $adse_information; 
    } 
    
    add_filter('moloni_before_insert_document', 'moloni_before_insert_document', 10, 1);

    Caso necessite de mais ajuda não hesite em entrar em contacto.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia.

    Conforme indicado pelo @negapo, o erro que reportado indica que os portes de envio não têm qualquer imposto aplicado.

    Relativamente à taxa de 23%, o plugin aplica a taxa por defeito (da conta Moloni) nos produtos da encomenda caso os produtos não tenham qualquer imposto aplicado na encomenda nem uma razão de isenção definida. Podem confirmar se é esse o caso?

    Em Portugal é obrigatório por lei que os artigos dos documentos tenham impostos aplicados ou razão de isenção. No caso da sua loja, como não tem definida nenhuma razão de isenção nas definições do plugin para produtos e/ou portes de envio, não é possível criar o documento.

    Caso os portes estejam abrangidos por uma razão de isenção, deverá selecioná-la nas definições do plugin. Caso seja suposto cobrar impostos nestas encomendas, sugerimos que verifique as configurações dos impostos na sua loja, pois com as configurações atuais não estão a aplicar qualquer imposto na encomenda.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    Na atualização disponibilizada hoje (versão 4.7.1), já acrescentámos a opção nas configurações do plugin de selecionar qual é o estado em que pretende que os documentos sejam gerados, o que vai de encontro com o que sugeriu.

    No seguimento das alterações que foram efetuadas após a sua sugestão, se assim entender, agradecíamos que revisse também a sua classificação dada ao plugin Moloni.

    Estamos sempre abertos a todas as sugestões enviadas pelos nossos utilizadores, e sempre que forem possíveis de implementar, tratamos de as implementar o mais rapidamente possível.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    Na atualização disponibilizada hoje (versão 4.7.1), já acrescentámos os seguintes hooks para as notas de crédito:

    • moloni_before_insert_credit_note
    • moloni_after_insert_credit_note
    • moloni_after_close_credit_note
    • moloni_before_start_credit_note

    • This reply was modified 2 years, 3 months ago by Moloni.
    • This reply was modified 2 years, 3 months ago by Moloni.
    Plugin Author Moloni

    (@molonidevteam)

    Correto, o código da AT só está disponível em documentos de transporte.

    Uma vez que é preciso gerar uma Guia de Transporte + Documento de Faturação, a melhor solução é ativar a opção de gerar automaticamente documentos de transporte no plugin Moloni.

    Com essa opção ativa, o próprio plugin trata de gerar uma Guia de Transporte e a respetiva Fatura (ou Fatura/Recibo), associando as duas.

    Plugin Author Moloni

    (@molonidevteam)

    Na maioria das vezes, sim, exceto algumas falhas que podem existir normalmente causadas pelos próprios serviços da AT que podem falhar ao fornecer o código de transporte.

    Plugin Author Moloni

    (@molonidevteam)

    Boa tarde,

    O código AT de transporte apenas é gerado para documentos do tipo “Guia de transporte”. O código pode ser obtido no campo transport_code após ser feito o pedido documents/getOne à API Moloni.

    Visto que o código AT de transporte apenas é gerado quando um documento é gerado no estado “fechado”, teria de usar a ação moloni_after_close_document.

    Dentro da função que registou terá de fazer um pedido para obter os dados do documento como, por exemplo:

    add_filter( 'moloni_after_close_document' , 'moloniAfterCloseDocument' );
    
    function moloniAfterCloseDocument( $documentBuilder ) {
        $documentId = documentBuilder->getDocumentId() ?? 0;
    
        if ($documentId <= 0) {
            return $documentBuilder;
        }
    
        $requestProps = [
            'document_id' => $documentId
        ];
    
        $document = \Moloni\Curl::simple('documents/getOne', $requestProps);
    
        if (empty($document) || !is_array($document)) {
            return $documentBuilder;
        }
    
        $transportCode = $document['transport_code'] ?? '';
    
        if (!empty($transportCode)) {
            // custom stuff
        }
    
        return $documentBuilder;
    }

    Caso necessite de mais ajuda não hesite em entrar em contacto.

    Plugin Author Moloni

    (@molonidevteam)

    Bom dia,

    A criação de documentos é feita a dois passos. Primeiro geramos o documento em rascunho e logo a seguir chamamos o endpoint documents/getOne, seguido da action moloni_after_insert_document. Este passo serve para fazermos verificações de valores antes de fecharmos efetivamente o documento.

    Portanto, esta action vai buscar a informação do documento ainda numa altura em que ele está em rascunho.

    Para o que pretende, deverá usar a action moloni_after_close_document que corre já depois do documento ser fechado e de ter o código de transporte à AT.

    Neste ponto, deverá fazer uma nova chamada ao endpoint documents/getOne para obter a informação do documento, agora, já fechado e com o código de transporte no parâmetro transport_code.

Viewing 15 replies - 1 through 15 (of 67 total)