Skip to content

Commit

Permalink
Merge pull request #26 from LinkNacional/master
Browse files Browse the repository at this point in the history
Ajustes no readme e erro de nota fiscal cancelada
  • Loading branch information
gblmarquez authored Feb 18, 2021
2 parents de53b7a + 2600004 commit 9263b85
Show file tree
Hide file tree
Showing 11 changed files with 310 additions and 320 deletions.
42 changes: 35 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,28 @@ Automatize a emissão de notas fiscais no WHMCS com a [NFE.io](https://nfe.io "N
A [NFE.io](https://nfe.io "NFE.io") é um sistema de emissão de notas fiscais que automatiza a comunicação com as prefeituras. Com a [NFE.io](https://nfe.io "NFE.io") você se livra de diversas tarefas chatas, melhorando o desempenho do seu negócio. E melhor, você economiza tempo e dinheiro.

------------
## CAPTURAS DE TELA
Clique nas imagens para ampliar
## TELAS DO MÓDULO

[![](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/08/26153535/config_screenshot.png)](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/08/26153535/config_screenshot.png)
*Configurações*
Após instalar entre no Admin do WHMC e acess as configurações. Dentro das opções de configurações pesquise por: "Módulos Addon". //whmcsdomain/admin/configaddonmods.php
Procure pelo módulo NFE.io, Para conseguir configura-lo é necessário Ativar o módulo. Após a ativação do móudlo, o botão "Configure" ficará disponível, clique no botão para acessar as configurações do módulo. Para informações detalhada de como configurar cada campo veja infos no link: https://github.com/LinkNacional/whmcs-addon/tree/issues#configura%C3%A7%C3%B5es-do-m%C3%B3dulo

[![](http://whmcs.linknacional.com.br/prints/img1.png)](http://whmcs.linknacional.com.br/prints/img1.png)

[![Listagem de notas fiscais](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_list_screenshot.png "Listagem de notas fiscais")](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_list_screenshot.png "Listagem de notas fiscais")
*Listagem de notas fiscais*
O módulo conta com uma listagem de notas fiscais, para acessar a ferramenta, dentro do admin do WHMCS no menu superior passe o mouse na opção "Addons" e clique na opção: NFE.io, irá visualizar uma listagem da situação das notas fiscais.
Caso a opção não esteja disponível no menu, verifique as configurações do módulo a opção "Controle de Acesso" e veja se tem permissão para visualizar o recurso.

[![Listagem de notas fiscais](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_list_screenshot.png "Listagem de notas fiscais")](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_list_screenshot.png "Listagem de notas fiscais")

*Configurações de Códigos de serviços*
Dentro da listagem de nota fiscal, possui a opção de listar e cadastrar os códigos de serviços. Se algum dos serviços ofertados possuir código de serviço diferente do definido nas configurações, esse é o local para definição do código do serviço individualmente.
[![Listagem de notas fiscais](http://whmcs.linknacional.com.br/prints/img2.png "Listagem de notas fiscais")](http://whmcs.linknacional.com.br/prints/img2.png "Listagem de notas fiscais")

*Visualização de Fatura via admin*
Dentro do admin do WHMCS é possível gerenciar a nota fiscal manualmente.
[![Ações na edição da fatura](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_invoice_screenshot.png "Ações na edição da fatura")](https://s3.amazonaws.com/uploads.gofas.me/wp-content/uploads/2020/05/nfe_invoice_screenshot.png "Ações na edição da fatura")
*Ações na edição da fatura*


## PRINCIPAIS FUNCIONALIDADES
✓ Emite notas fiscais automaticamente, quando a fatura é publicada, ou quando a fatura é paga.
Expand Down Expand Up @@ -61,14 +72,31 @@ Clique nas imagens para ampliar
## CONFIGURAÇÕES DO MÓDULO
1. API Key: (Obrigatório) Chave de acesso privada gerado na sua conta NFE.io, necessária para a autenticação das chamadas à API (Obter Api Key);
2. ID da Empresa: (Obrigatório) Nesse campo você deve indicar o ID da empresa ao qual serão associadas as notas fiscais geradas pelo WHMCS. (Obter ID da empresa);
3. Código de Serviço: (Obrigatório) O código de serviço varia de acordo com a categoria de tributação do negócio. Saiba mais sobre o código de serviço aqui;
3. Código de Serviço Principal: (Obrigatório) O código de serviço varia de acordo com a categoria de tributação do negócio. Saiba mais sobre o código de serviço aqui;
4. Série do RPS: Valor padrão `IO`. Saiba mais em https://nfe.io/docs/nota-fiscal-servico/conceitos-nfs-e/;
5. Número do RPS: O número RPS da NFE mais recente gerada. Deixe em branco e o módulo irá preencher esse campo após a primeira emissão. Não altere o valor a menos que tenha certeza de como funciona essa opção. Saiba mais em https://nfe.io/docs/nota-fiscal-servico/conceitos-nfs-e/;
6. Quando emitir NFE: Selecione se deseja que as notas fiscais sejam geradas quando a fatura é publicada ou quando a fatura é paga;
7. Agendar Emissão: Número de dias após o pagamento da fatura que as notas devem ser emitidas. Preencher essa opção desativa a opção anterior;
8. Cancelar NFE: Se essa opção está ativada, o módulo cancela a nota fiscal quando a fatura cancelada;
9. Debug: Marque essa opção para salvar informações de diagnóstico no Log de Módulo do WHMCS;
10. Controle de Acesso: Escolha os grupos de administradores ou operadores que terão permissão para acessar a lista de faturas gerada pelo módulo no menu Addons > Gofas NFE.io.

10. Inscrição Municipal: Marque o campo personalizado definido para ser a Inscrição Municipal.
11. Aplicar imposto automaticamente em todos os produtos: Esta opção define que todos os serviços terão impostos aplicados, caso contrário a aplicação de imposto é selecionada de forma individual por serviço.
12. O que deve aparecer nos detalhes da fatura?: Define o que vai aparecer nos detalhes das NFE's emitidas.
13. Controle de Acesso: Escolha os grupos de administradores ou operadores que terão permissão para acessar a lista de faturas gerada pelo módulo no menu Addons > Gofas NFE.io.

## CONFIGURAÇÕES DOS PRODUTOS E SERVIÇOS
Os produtos podem ter configurações de código de serviço individuais:

Em Addons>NFE.oi>código dos Produtos é possivel configurar um código de serviço para cada produto/serviço cadastrado.

***o código individual vai ter prioridade sobre o definido nas configurações do módulo.***

E também há configurações de aplicação do imposto:

Nas configurações do módulo como foi explicado anteriormente, há a opção de aplicar imposto automaticamente em todos os produtos, onde se marcados sim, todos os produtos/serviços cadastrados vão ser marcados para aplicar os impostos.

se desejar fazer essas configurações individualmente pode entrar em configurações>Produtos/Serviços e escolher o produto para configurar e marcar a caixa Aplicar Imposto.

## LINK DA NOTA EM PDF E XML
Para inserir um link da nota fiscal do PDF e XML, edite o arquivo viewinvoice.tpl da pasta do template do WHMCS, utilize o exemplo abaixo:
Expand Down
14 changes: 7 additions & 7 deletions modules/addons/gofasnfeio/callback.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

require_once __DIR__.'/../../../init.php';
require_once __DIR__ . '/../../../init.php';
use WHMCS\Database\Capsule;

$post = json_decode(file_get_contents('php://input'), true);
Expand All @@ -9,7 +9,7 @@
logModuleCall('gofas_nfeio', 'callback environment', $post['environment'], '', '', 'replaceVars');

if ($post) {
require_once __DIR__.'/functions.php';
require_once __DIR__ . '/functions.php';
if (Capsule::table('gofasnfeio')->where('nfe_id', '=', $post['id'])->count() == 0 || $post['environment'] != 'Production') {
return '';
}
Expand Down Expand Up @@ -53,7 +53,7 @@
$data = getTodaysDate(false);
$dataAtual = toMySQLDate($data);

if ('Manualmente' !== $params['issue_note']) {
if ($params['issue_note'] !== 'Manualmente') {
$getQuery = Capsule::table('tblinvoices')->whereBetween('date', [$params['initial_date'], $dataAtual])->where('id', '=', $waiting->invoice_id)->get(['id', 'userid', 'total']);
} else {
$getQuery = Capsule::table('tblinvoices')->where('id', '=', $waiting->invoice_id)->get(['id', 'userid', 'total']);
Expand Down Expand Up @@ -86,9 +86,9 @@
$rps_number = 0;
}

if (2 == $customer['doc_type']) {
if ($customer['doc_type'] == 2) {
$name = $client['companyname'];
} elseif (1 == $customer['doc_type'] || 'CPF e/ou CNPJ ausente.' == $customer || !$customer['doc_type']) {
} elseif ($customer['doc_type'] == 1 || $customer == 'CPF e/ou CNPJ ausente.' || !$customer['doc_type']) {
$name = $client['fullname'];
}

Expand All @@ -99,8 +99,8 @@
foreach (Capsule::table('tblconfiguration')->where('setting', '=', 'Domain')->get(['value']) as $gnfewhmcsadminurl) {
$gnfewhmcsadminurl = $gnfewhmcsadminurl->value;
}
$desc = 'Nota referente a fatura #'.$waiting->invoice_id.' '.$gnfewhmcsadminurl.'viewinvoice.php?id='.$waiting->invoice_id.' ';
if (0 == !strlen($customer['insc_municipal'])) {
$desc = 'Nota referente a fatura #' . $waiting->invoice_id . ' ' . $gnfewhmcsadminurl . 'viewinvoice.php?id=' . $waiting->invoice_id . ' ';
if (!strlen($customer['insc_municipal'] == 0)) {
$postfields = [
'cityServiceCode' => $service_code,
'description' => $desc,
Expand Down
35 changes: 16 additions & 19 deletions modules/addons/gofasnfeio/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
}
use WHMCS\Database\Capsule;

require_once __DIR__.'/functions.php';
require_once __DIR__ . '/functions.php';

if (!function_exists('gofasnfeio_config')) {
if (!function_exists('gnfe_customfields_dropdow')) {
function gnfe_customfields_dropdow()
{
function gnfe_customfields_dropdow() {
$customfields_array = [];
foreach (Capsule::table('tblcustomfields')->where('type', '=', 'client')->get(['fieldname', 'id']) as $customfield) {
$customfields_array[] = $customfield;
Expand All @@ -30,9 +29,8 @@ function gnfe_customfields_dropdow()
return $dropFieldArray;
}
}
function gofasnfeio_config()
{
$module_version = '1.2.7';
function gofasnfeio_config() {
$module_version = '1.2.8';
$module_version_int = (int) preg_replace('/[^0-9]/', '', $module_version);

/// REMOVER VERIFICAÇÃO APÓS VERSÃO 2.0
Expand All @@ -46,13 +44,13 @@ function gofasnfeio_config()
}
}////// FIM VERIFICAÇÃO

$actual_link = (isset($_SERVER['HTTPS']) ? 'https' : 'http')."://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$actual_link = (isset($_SERVER['HTTPS']) ? 'https' : 'http') . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
if (stripos($actual_link, '/configaddonmods.php')) {
$whmcs_url__ = str_replace('\\', '/', (isset($_SERVER['HTTPS']) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].substr(getcwd(), strlen($_SERVER['DOCUMENT_ROOT'])));
$admin_url = $whmcs_url__.'/';
$whmcs_url__ = str_replace('\\', '/', (isset($_SERVER['HTTPS']) ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] . substr(getcwd(), strlen($_SERVER['DOCUMENT_ROOT'])));
$admin_url = $whmcs_url__ . '/';
$vtokens = explode('/', $actual_link);
$whmcs_admin_path = '/'.$vtokens[sizeof($vtokens) - 2].'/';
$whmcs_url = str_replace($whmcs_admin_path, '', $admin_url).'/';
$whmcs_admin_path = '/' . $vtokens[sizeof($vtokens) - 2] . '/';
$whmcs_url = str_replace($whmcs_admin_path, '', $admin_url) . '/';
foreach (Capsule::table('tblconfiguration')->where('setting', '=', 'gnfewhmcsurl')->get(['value', 'created_at']) as $gnfewhmcsurl_) {
$gnfewhmcsurl = $gnfewhmcsurl_->value;
$gnfewhmcsurl_created_at = $gnfewhmcsurl_->created_at;
Expand Down Expand Up @@ -123,8 +121,7 @@ function gofasnfeio_config()
$available_update_message = '<p style="font-size: 14px;color:red;"><i class="fas fa-exclamation-triangle"></i> Nova versão disponível no <a style="color:#CC0000;text-decoration:underline;" href="https://github.com/nfe/whmcs-addon/releases" target="_blank">Github</a></p>';

if (!function_exists('gnfe_verifyInstall')) {
function gnfe_verifyInstall()
{
function gnfe_verifyInstall() {
if (!Capsule::schema()->hasTable('gofasnfeio')) {
try {
Capsule::schema()->create('gofasnfeio', function ($table) {
Expand Down Expand Up @@ -171,11 +168,11 @@ function gnfe_verifyInstall()
create_table_product_code();
set_code_service_camp_gofasnfeio();
set_custom_field_ini_date();

$intro = ['intro' => [
'FriendlyName' => '',
'Description' => '<h4 style="padding-top: 5px;">Módulo Nota Fiscal NFE.io para WHMCS v'.$module_version.'</h4>
'.$available_update_message.'',
'Description' => '<h4 style="padding-top: 5px;">Módulo Nota Fiscal NFE.io para WHMCS v' . $module_version . '</h4>
' . $available_update_message . '',
]];
$api_key = ['api_key' => [
'FriendlyName' => 'API Key',
Expand Down Expand Up @@ -232,7 +229,7 @@ function gnfe_verifyInstall()
'FriendlyName' => 'Debug',
'Type' => 'yesno',
'Default' => 'yes',
'Description' => 'Marque essa opção para salvar informações de diagnóstico no <a target="_blank" style="text-decoration:underline;" href="'.$admin_url.'systemmodulelog.php">Log de Módulo</a>',
'Description' => 'Marque essa opção para salvar informações de diagnóstico no <a target="_blank" style="text-decoration:underline;" href="' . $admin_url . 'systemmodulelog.php">Log de Módulo</a>',
]];
$insc_municipal = ['insc_municipal' => [
'FriendlyName' => 'Inscrição Municipal',
Expand All @@ -253,14 +250,14 @@ function gnfe_verifyInstall()
]];
$footer = ['footer' => [
'FriendlyName' => '',
'Description' => '&copy; '.date('Y').' <a target="_blank" title="Para suporte utilize o github" href="https://github.com/nfe/whmcs-addon/issues">Suporte módulo</a>',
'Description' => '&copy; ' . date('Y') . ' <a target="_blank" title="Para suporte utilize o github" href="https://github.com/nfe/whmcs-addon/issues">Suporte módulo</a>',
]];
$fields = array_merge($intro, $api_key, $company_id, $service_code, $rps_serial_number, $rps_number, $issue_note, $issue_note_after, $gnfe_email_nfe_config, $cancel_invoice_cancel_nfe, $debug, $insc_municipal, $tax, $invoiceDetails, $footer);
$configarray = [
'name' => 'NFE.io',
'description' => 'Módulo Nota Fiscal NFE.io para WHMCS',
'version' => $module_version,
'author' => '<a title="NFE.io Nota Fiscal WHMCS" href="https://github.com/nfe/whmcs-addon/" target="_blank" ><img src="'.$whmcs_url.'modules/addons/gofasnfeio/lib/logo.png"></a>',
'author' => '<a title="NFE.io Nota Fiscal WHMCS" href="https://github.com/nfe/whmcs-addon/" target="_blank" ><img src="' . $whmcs_url . 'modules/addons/gofasnfeio/lib/logo.png"></a>',
'fields' => $fields,
];

Expand Down
Loading

0 comments on commit 9263b85

Please sign in to comment.