Olá!
N?o estou a conseguir efetuar login no plugin, com o seguinte erro:
cURL error 7: Failed to connect to api.moloni.pt port 443: Connection refused
Conseguem ajudar? Obrigado!
]]>é possível gerar a fatura automaticamente quando um pedido é finalizado?
]]>Olá
Temos Fatura-simplificada por defeito para gerar automaticamente quando recebemos uma encomenda
Ao receber uma encomenda no valor superior a 100€ o plugin indica que gerou o documento:
{ “order_id”: xxxxx, “document_id”: 745xxxxxxx, “document_status”: 1 }
Mas ao verificarmos, o dito documento n?o está no sistema e n?o foi criado.
A solu??o, para nós, é alterar manualmente para Fatura Recibo nas defini??es do plugin mas n?o é prático e podiam implementar isso no plugin diretamente!
Obrigado
Bom dia
O plugin tem algum problema de seguran?a visto já n?o estar no repositório?
Obrigado
]]>Boa tarde
tenho uma loja online que n?o faz a sincroniza??o de stocks correctamente.
Apenas sincroniza alguns artigos inseridos depois da instala??o do plugin, e desses uns sincroniza com valor sem iva e outros com iva.
]]>Olá, estou a trabalhar num site WordPress com Woocommerce de uma cliente, o que acontece é que certos artigos que est?o a controlar o stock através do Moloni aparantemente criaram dentro do Moloni categorias de artigo idênticas às do site e foram movidos para lá. Ou seja, saíram das categorias originais onde estavam e foram movidos para categorias automaticamente criadas seguindo as categorias do site. Isto é natural? Há alguma forma de contornar? A ideia é que os artigos estivessem a sincronizar os stocks naturalmente mas que se mantivessem nos seus lugares respetivos dentro do Moloni e que n?o houvesse esta “movida” de localiza??o indesejada.
Obrigado,
]]>Hi there,
we get this error with WooCommerce 8.8.3 :
[10-May-2024 08:50:45 UTC] PHP Fatal error: Declaration of Moloni\Helpers\Logger::error($message, array $context = []) must be compatible with Psr\Log\AbstractLogger::error(Stringable|string $message, array $context = []): void in /home/public_html/wp-content/plugins/moloni/src/Helpers/Logger.php on line 11
]]>Boas, na nova vers?o 4.7.1, em compara??o à 4.6
existe um novo comportamento da hook “moloni_after_insert_document”
A setting do Moloni está para gerar e fechar documento com guia ao mudar encomenda para “Completed”
Anteriormente utilizava esta hook para guardar o código AT na encomenda “moloni_after_insert_document”,
e utilizo o plugin “Advanced Order Export For WooCommerce” para exportar um CSV das encomendas (incluindo o código AT guardado) automaticamente quando estas s?o alteradas para “Completed”
Tudo funcionava bem. No entanto na vers?o 4.7 há algo novo/alterado no funcionamento da hook “moloni_after_insert_document”
embora continue a guardar o código AT de forma bem sucedida, parece que o save está atrasado e n?o corre a tempo do “woocommerce_order_status_completed” hook
Olá,
Gostaríamos de saber se é possível e, caso seja, como poderíamos integrar um campo personalizado nas faturas, especificamente para incluir informa??es relacionadas à ADSE. O nosso objetivo é automatizar este processo e integrá-lo com o WooCommerce.
Gostaríamos que isso funcionasse de maneira semelhante ao que já é feito com o NIF, ou seja, permitir adicionar campos adicionais no moloni e posteriormente indicar o id do custom field que é usado pelo wordpress.
Caso n?o seja possível, gostaríamos ainda de saber se é possível fazer integra??es automáticas para o campo de observa??es.
Agradecemos desde já pela aten??o.
]]>Os produtos est?o configurados no WooCommerce com a taxa de IVA correta e quando se tentar gerar o documento fatura/recibo, dá este erro onde se pode ver que o sistema tenta fazer a passagem com o IVA a 23% quando o produto está a 6%.
Aten??o, houve um erro ao inserir o documento 10483
Um dos artigos n?o tem uma taxa de IVA associada e como tal, tem que seleccionar uma raz?o de isen??o
Endpoint: https://api.moloni.pt/v2/invoiceReceipts/insert/?human_errors=true&access_token=d7cbc95e49f284d93283512685af1bab66f6ac4a
Resposta recebida:
Array
(
[0] => Array
(
[0] => Array
(
[code] => 1 exemption_reason
[description] => Field 'exemption_reason' is required
)
[1] => Array
(
[code] => 5 exemption_reason ["M01","M02","M04","M05","M06","M07","M09","M10","M11","M12","M13","M14","M15","M16","M19","M20","M21","M25","M26","M30","M31","M32","M33","M34","M40","M41","M42","M43","M99"]
[description] => Field 'exemption_reason' must be valid. Available values: M01, M02, M04, M05, M06, M07, M09, M10, M11, M12, M13, M14, M15, M16, M19, M20, M21, M25, M26, M30, M31, M32, M33, M34, M40, M41, M42, M43, M99
)
)
)
Dados enviados:
Array
(
[customer_id] => 96781331
[document_set_id] => 687505
[our_reference] =>
[your_reference] => #10483
[date] => 2024-03-12
[expiration_date] => 2024-03-12
[financial_discount] => 0
[special_discount] => 0
[salesman_id] => 0
[salesman_commission] => 0
[notes] =>
[status] => 0
[eac_id] => 0
[products] => Array
(
[0] => Array
(
[product_id] => 74793003
[name] => Box ementa com fruta - Grande - 4 a 5 Pessoas
[summary] => Tamanho: Grande - 4 a 5 Pessoas
[qty] => 1
[price] => 73
[discount] => 0
[order] => 0
[exemption_reason] =>
[taxes] => Array
(
[0] => Array
(
[tax_id] => 1870202
[value] => 23
[order] => 1
[cumulative] => 0
)
)
[warehouse_id] => 30084
[child_products] =>
)
[1] => Array
(
[product_id] => 124213507
[name] => Por transportadora (4af ou 5af)
[summary] =>
[qty] => 1
[price] => 6.5
[discount] => 0
[order] => 1
[exemption_reason] =>
[taxes] => Array
(
)
)
)
[delivery_datetime] => 2024-03-12 15:15:29
[delivery_method_id] => 2275140
[delivery_departure_address] => Av. Manuel Pinto de Azevedo, n.o483
[delivery_departure_city] => Matosinhos/ Senhora da Hora
[delivery_departure_zip_code] => 4460-360
[delivery_departure_country] => 1
[delivery_destination_address] => Rua do Matico N°49
[delivery_destination_city] => Louriceira
[delivery_destination_zip_code] => 2380-412
[delivery_destination_country] => 1
[payments] => Array
(
[0] => Array
(
[payment_method_id] => 2257326
[date] => 2024-03-12 15:15:29
[value] => 79.5
)
)
[company_id] => 116350
)
]]>
Olá equipa Moloni,
Desde que utilizamos o vosso plug-in que sempre que o atualizamos temos de ir editar código, isto porque optamos por emitir a fatura quando a encomenda altera-se para um estado a que chamamos de “Aguarda Envio”, ou seja, um estado criado por nós. Seria muito interessante alterar a forma como fazem isto no plug-in, existem várias formas mas deixo uma sugest?o simples:
Em defini??es, onde diz “Criar documentos quando a encomenda está” poderiam preencher a lista com wc_get_order_statuses().
Depois em moloni/src/Hooks/OrderPaid.php bastava alterar a action para add_action(‘woocommerce_order_status_’ . OP??OESCOLHIDA, [$this, ‘documentCreate’]);
Assim todos os clientes tinham a versatilidade para optar por um estado, e as duas rotinas existentes documentCreateComplete e documentCreateProcessing podiam ser reduzidas a uma chamada documentCreate e no if colocar INVOICE_AUTO_STATUS === OP??OESCOLHIDA
N?o haveria problemas de compatibilidade porque o valor atual faz sempre parte da nova lista.
Obrigado
]]>Olá equipa da Moloni,
Seria possível incluir filtros na rotina de cria??o das notas de crédito, à semelhan?a do filtro “moloni_after_insert_document”?
moloni/src/Services/Orders/CreateCreditNote.php
Eventualmente incluir antes da cria??o e antes do fecho na fun??o “run”, e passar a variável $this como argumento, assim quem se associar a este filtro tem acesso a todos os detalhes como o objecto $order, e se foi fechado, etc.
No nosso caso queremos enviar um email personalizado.
Obrigado.
Boa tarde,
Duas quest?es sobre o Código AT de transporte:
Estas quest?es prendem-se com o facto de termos necessidade de usar o AT Code para integrar num plugin de emiss?o de etiquetas da transportadora.
]]>Ao tentar gerar documento desde a vers?o 4.4.+ que n?o conseguimos gerar documentos.
Esta loja é e-learning pelo que tem isen??o de impostos em todos os produtos/cursos em que o Woo e o moloni a nivel de WordPress est?o configurados para sem iva isen??o M07 ao que tem funcionado corretamente até à data.
Após analise e apesar das compras serem portuguesas (dentro da uni?o europeia) tivemos que definir a insen??o também nas “Vendas extra comunitárias (fora da uni?o europeia)” (vossa nova op??o do plugin. O que foi introduzida na vers?o 4.4.0 -> FEATURE: Adicionada nova raz?o de isen??o para envios para zonas extra?comunitárias
Com isto deve existir algum bug em que caso a isen??o esteja definida na uni?o europeia e n?o tiver nenhuma isen??o para extra comunitárias as faturas geradas mesmo dentro da uni?o europeia est?o a chegar ao moloni com iva normal de 23% incorretamente.
Segue o erro:
{
"message": "Aten??o, houve um erro ao inserir o documento 115990",
"request": {
"url": "https://api.moloni.pt/v2/invoiceReceipts/insert/?human_errors=true&access_token=XXXXXXXXXXXXXXXXXXX",
"sent": {
"customer_id": XXXXXX,
"document_set_id": "XXXXX",
"our_reference": "",
"your_reference": "#XXXXX",
"date": "2023-11-15",
"expiration_date": "2023-11-15",
"financial_discount": 0,
"special_discount": 0,
"salesman_id": 0,
"salesman_commission": 0,
"notes": "",
"status": 0,
"eac_id": 0,
"products": [
{
"product_id": 75207082,
"name": "Microsoft Excel - Nível Básico | 50h",
"summary": null,
"qty": 1,
"price": 108,
"discount": 0,
"order": 0,
"exemption_reason": null,
"taxes": [
[]
],
"warehouse_id": 0,
"child_products": false
}
],
"payments": [
{
"payment_method_id": XXXXX,
"date": "2023-11-15 15:56:47",
"value": 108
}
],
"company_id": "XXXX"
},
"received": [
[
{
"code": "1 exemption_reason",
"description": "Field 'exemption_reason' is required"
},
{
"code": "5 exemption_reason [\"M01\",\"M02\",\"M04\",\"M05\",\"M06\",\"M07\",\"M09\",\"M10\",\"M11\",\"M12\",\"M13\",\"M14\",\"M15\",\"M16\",\"M19\",\"M20\",\"M21\",\"M25\",\"M26\",\"M30\",\"M31\",\"M32\",\"M33\",\"M34\",\"M40\",\"M41\",\"M42\",\"M43\",\"M99\"]",
"description": "Field 'exemption_reason' must be valid. Available values: M01, M02, M04, M05, M06, M07, M09, M10, M11, M12, M13, M14, M15, M16, M19, M20, M21, M25, M26, M30, M31, M32, M33, M34, M40, M41, M42, M43, M99"
}
]
]
}
}
]]>
Bom dia equipa Moloni, precisamos de uma ajuda a tentar descobrir o que se está a passar,
Nós temos o plugin Moloni a gerar automaticamente os documentos quando o estado de uma encomenda é passado para “complete”.
Utilizamos também o hook moloni_after_insert_document
para automatizar alguns processos, nomeadamente guardar o código AT na encomenda Woocommerce também quando o seu estado é alterado para “Complete”.
Conseguimos utilizar esta hook com sucesso sempre que o estado da encomenda se passa para “Completed” manualmente, mas caso este estado seja actualizado por REST API do woocommerce, parece dar a entender que a hook moloni_after_insert_document
n?o corre.
A quest?o é, caso o estado de uma encomenda seja atualizado por REST API a hook moloni_after_insert_document
corre?
Caso n?o corra, é possível fazer com que aconte?a para que seja possível automatizarmos os nossos processos?
Obrigado
Hello,
I’m trying to click on fatura to generate one, and i have this message of error:
Aten??o, houve um erro ao inserir o documento 31799
Field ‘document_set_id’ must be valid
Field ‘document_set_id’ must be valid
Field ‘document_set_wsat_id’ must be valid
How to fix it please ?
]]>Bom dia, é possível apenas habilitar a gera??o da fatura para alguns métodos de pagamento?
Ou seja, em pagamentos automaticos gera a fatura, em pagamento “pagamento na loja” n?o gera a fatura.
Obrigado
]]>Apliquei este filtro que vi noutro post (crédito para o @tiago) , para ultrapassar a cria??o de fatura com valor 0 mas no WooCommerce se marcar a encomenda como concluída dá erro fatal na página. Fa?o voltar e fica bem. Como posso ultrapassar o erro:
// Esta Linha de código faz com que a fun??o ‘filtrar_documentos’ seja chamada antes do Moloni criar um documento e permite-nos, por exemplo, cancelar a sua cria??o
add_filter( ‘moloni_before_insert_document’ , ‘filtrar_documentos’ );
// Esta fun??o vê o valor total do documento e se for menor ou igual 0€ cancela a sua cria??o.
function filtrar_documentos( $documento ) {
if ($documento->documentTotal < 0.01) { $documento->stopProcess = true;
}
return $documento;
} ;
Bom dia,
Com o update para a vers?o 4.1.1 do plugin, este deixou de adicionar o valor dos portes nas faturas.
Quando se gera o documento o os portes de envio n?o s?o adicionados como produto e que faz com que o total da fatura tenha esse valor em falta. No entanto o valor apresentado na sec??o dos pagamentos fica com o valor correto.
Por agora reverti para a vers?o anterior e o problema fica resolvido.
Aguardo novidades para poder atualizar.
Obrigado.
Rui Lopes
Bom dia,
creio que seria importante a cria??o de um bot?o de download de documento na área de Cliente, de forma, a qualquer momento, o cliente poder fazer download da documento relacionado com a fatura
]]>Bom dia
Aparecem-me os 2 erros abaixo há algum tempo nos logs do servidor, pensei que com um update o mesmo iria desaparecer mas n?o, já passaram alguns updates e o erro persiste, como posso criar as tabelas em falta para resolver o problema?
WordPress, WooCommerce e plugin com as ultimas vers?es instaladas.
Obrigado
————————–
Custom Log: WordPress database error Table ‘XXXXXXXXXX.wp_moloni_sync_logs’ doesn’t exist for query SELECT COUNT(*) FROM wp_moloni_sync_logs
————————–
Custom Log: WordPress database error Table ‘XXXXXXXXXX.wp_moloni_sync_logs’ doesn’t exist for query SHOW FULL COLUMNS FROM wp_moloni_sync_logs
made by require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), do_action(‘template_redirect’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action(‘wc_ajax_checkout’), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Gateway_COD->process_payment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action(‘woocommerce_order_status_processing’), WP_Hook->do_action, WP_Hook->apply_filters, wc_maybe_reduce_stock_levels, wc_reduce_stock_levels, wc_update_product_stock, WC_Product->save, WC_Data_Store->update, WC_Product_Variation_Data_Store_CPT->update, do_action(‘woocommerce_update_product_variation’), WP_Hook->do_action, WP_Hook->apply_filters, Moloni\Hooks\ProductUpdate->productCreateUpdate, Moloni\Hooks\ProductUpdate->shouldRunHook, Moloni\Helpers\SyncLogs::addTimeout
Documento n?o é emitido de forma automática (fatura). O erro gerado no log do plugin é o seguinte:
[2023-05-02 07:41:43] Houve um erro ao gerar o documento: Aten??o, houve um erro ao inserir o documento 11035Field ‘date’ must be greater or equal to 2023-05-29
Como se poderá resolver esta quest?o?
Obrigado pela ajuda
]]>Boa tarde equipa do Moloni,
Venho reportar um problema com o plugin em coexistência com outros plugins que usem cron jobs.
Inicialmente pensei que o problema estivesse num outro plugim mas depois de muito tempo a tentar despistar o problema e com o suporte de desse plugin descobri que afinal outros plugins est?o a ser afectados e que esse problema só acontece quando o plugin do Moloni está a correr.
Basicamente quando o Moloni está a correr, alguns cron jobs que est?o a correr de momento no wordpress ficam sem poder ser executados devido ás suas defini??es de agendamento ficarem inacessíveis.
Um exemplo vindo do plugin WP Optimize:
Cron reschedule event error for hook: wpo_reset_webp_conversion_test_result, Error code: invalid_schedule, Error message: O evento agendado n?o existe., Data: {“schedule”:”wpo_daily”,”args”:[],”interval”:86400
Basicamente este erro acontece porque o agendamento “wpo_daily” desapareceu. Mas assim que desligo o Moloni, volta tudo ao normal porque este agendamento e os outros voltam a estar disponivel.
]]>Bom dia equipa do Moloni,
O meu cliente usa o vosso plugin e gosta. Para n?o estar a alterar o mesmo ou criar um novo, reporto este problema e pe?o a vossa ajuda para resolver.
Quando duplico um produto no Woocommerce, o produto duplicado fica em draft.
Editando o draft, alterando a referência duplicada para a nova, que tinha assumido *”-1″, o Moloni após publica??o do produto, cria a nova referência, certo, mas cria também a referência *”-1″, dando origem a mais trabalho na elimina??o da referência fantasma.
Estou a falhar nalguma configura??o? Será esta no Woocommerce?
Obrigado pela aten??o esperando a vossa resposta,
Bom ano,
Paulo Rodrigues
O plugin já suporta https://woocommerce.com/document/high-performance-order-storage/ ?
]]>Na Elabora??o da fatura o plugin está a usar o nome do produto para o campo Designa??o (coluna de cada item da fatura). Gostaria de saber de que forma podemos, desde o wocoomerce, definir o conteúdo do campo Resumo. Neste momento apenas consigo entrando na minha conta de Moloni ir aos artigos e um a um editar o campo resumo para que desta forma essa informa??o apare?as nas faturas na coluna Designa??o.
]]>Já trabalhamos há mais de um ano com este Plug-in e estamos muito satisfeitos!
Para ser perfeito precisava de mais uns ajustes para melhorar a produtividade:
1. Op??o para ignorar documentos com valor zero na integra??o automática
2. Adicionar nas “A??es por Lote” na grelha de encomendas, a op??o “Limpar Documentos”.
Bom dia,
De uma forma geral sugiro que tentem implementar filters e actions como parte do vosso desenvolvimento para tornar o plugin mais developer friendly.
Se n?o forem usados têm zero impacto em 100% das instala??es, mas podem ser muito úteis para quem deles necessita.
Para já necessito, para um projecto de um cliente em comum, dos seguintes filtros:
Nota: os nos de linhas s?o na vers?o 3.0.77 do plugin.
1) Manipula??o da data/hora de entrega
No controlador Documents, método setDelivery, linha 958 do src/Controllers/Documents.php
Onde está:
$this->delivery_datetime = date('Y-m-d H:i:s');
Passar a algo tipo:
$this->delivery_datetime = apply_filters( 'moloni_documents_delivery_datetime', date('Y-m-d H:i:s'), $this );
2) Manipula??o do no de documentos e estados válidos para “pending orders”
No controlador PendingOrders, método getAllAvailable, após as linhas 23 a 42 do src/Controllers/Documents.php
Adicionar algo tipo:
$args = apply_filters( 'moloni_pendingorders_getallavailable_args', $args );
Boa tarde,
quando numa venda é feito algum tipo de devolu??o parcial e o valor total desta baixa, depois na listagem de faturas pendentes a gerar no menu Moloni o valor da mesma n?o sofre altera??es ficando esta sempre o valor total da venda inicial antes da devolu??o.
N?o sabendo se isto iria after a gera??o do documento tambem n?o testei se ao clicar para gerar a fatura a mesma sai correta ou com o total e sem os artigos devolvidos.
Gerando pela venda em si no menu Woocommerce esta sai correta embora fique pendente de fechar de forma ao recibo ser emitido, penso aqui ser o comportamente normal e correto indo por este menu ao contrario de pelo Molini que criar logo o documento fatura/recibo, certo?
Quanto ao bug do valor, podem averiguar/corrigir?
Obrigado.
]]>Boa noite,
ao usar o gerar novamente caso se queira atualizar a referencia ou outros dados da fatura de uma venda o bot?o da coluna Moloni para descarregar na listagem de vendas permanece sempre com o link para o primeiro documento gerado de todos independentemente de quantas vezes se usar o gerar novamente.
Penso ser um bug pois devia atualizar o link a apontar para a ultima fatura regerada dessa venda.
Alguma solu??o ou workaround para já?
Obrigado.
]]>