Minimum requirements:
- .NET Framework 4.7.2
- Database in SQL Server 2016 or above
- Sage 2026.01.03 version or above
Introdução
O SmartRecycle é um produto que se destina á comunicação com as máquinas RVM, permitindo a leitura e abatimento dos valores de vasilhame das garrafas, cumprindo com o DL 152-D/2017.
Manual de instalação
O processo de instalação da extensibilidade é bastante simples.
Pedimos ao utilizador que siga os passos abaixo indicados para instalar a extensibilidade SmartPrice.
Para a utilização da extensibilidade a base de dados deve correr numa versão SQL Server 2016 ou superior.
Passo 1 – Instalação da extensibilidade
Executar o exe de instalação do produto como administrador.

Passo 2 – Configurar o Sage
Abrir o BackOffice do Sage > Clicar no botão do menu > Clicar no botão “Personalização” > Clicar no botão “Parametrizações funcionais”
Ao abrir a janela dos “Parâmetros”, clicar no botão “Integração de Dados”. 
No sub-menu “Extensibilidade” preencher o campo “Ponto de entrada para a classe ISageExtender:” com o seguinte texto sem aspas.
“SmartDigit.SmartRecycle.Sage50c”
Alterar a opção “Carrega o módulo da extensibilidade em:” para a adequada.

Deve agora clicar no botão “Fechar e gravar” deverá depois reiniciar o Sage para as configurações serem aplicadas.
Manual de Configuração
A extensibilidade foi desenvolvida com o foco de ser simples e intuitiva, no entanto abaixo pode encontrar as descrições das funcionalidades.
Nos parâmetros encontra as settings do SmartRecycle.
Nota: Em ecrãs com baixa resolução, poderá não ser possível visualizar corretamente todas as opções de configuração. Nesse caso, utilize a função SR.SETTINGS para abrir estas configurações numa janela redimensionável.

Perfil: Selecionar os varios perfil que existam criados
Provider: Provider ao qual vamos fazer a ligação (RvmSystems, Envipco, Tomra, *manual)
*(brevemente)
Activo: Estado do perfil
Nome do Perfil: Nome do perfil criado
Perfil padrão: Caso exista vários perfils, para vários providers, indicamos qual o padrão.
Modalidade de Pagamento: Modalidade de pagamento a usar, com as recentes atualizações da Sage, apenas são aceites modalidades de pagamento do tipo OU.
Modalidade de Pagamento Retorno: Modalidade de pagamento a usar nos retornos, util para situações que o cliente tem o addon das caixas fortes, poder selecionar uma modalidade diferente e a mesma dar a saída de dinheiro da máquina.
Enter confirma voucher validados: Ao ler um voucher ao dar o enter é automaticamente confirmado, evitando ter de ir carregar no botão de confirmar.
Validar Códigos de barras internamente: quando a comunicam não é com um provider mas sim manual (diretamente com a SDR), validamos se os códigos de barras picados da garrafa existem no sage ou não, útil por exemplo nos casos em que os clientes trazem garrafas de marca “branca”, ao ter a opção marcada, não é possível ler essas mesmas garrafas, apenas permite garrafas que são vendidas no estabelecimento.
Tipo de Retorno: Saída de Caixa ou Documento de Venda, não situação em que usam a função SR.VOUCHER.RETURN, a aplicação vai dar saida de caixa do valor entregue ao cliente. caso o cliente use o addon caixas fortes, é aconselhável usar por documento de venda, onde devem criar um documento de venda INTERNO com as seguinte características.

Sére Retorno: Serie a usar quando fazemos o pagamento em numerário ao cliente (em alternativa podemos usar a serie padrão do posto)
Doc. Retorno: Documento a usar quando fazemos o pagamento em numerário ao cliente
Nos dados de acesso á API, consoante os providers as settings podem mudar, cada um dos campos a preencher será fornecido pelo fabricante de cada RVM.
(Caso seja MANUAL, comunicação direta com a SDR sem qualquer ligação á máquina, devem pedir á SDR os respetivos acessos e conta ao portal https://portal.drs.sdrportugal.pt/ )
Do lado direito das configurações podemos encontrar o seguinte

Isto vem substituir a forma como o Sage associa os artigos SDR ás garrafas, com essa funcionalidade deixamos de usar a predefinida do Sage.
Algumas vantagens ao usar a associação pelo Addon
1- Podemos usar o artigo SDR diretamente nas compras, significa que ao comprar uma garrafa, automaticamente é lançado o artigo SDR.
2- Link automático – O artigo SDR fica automaticamente lincado ao artigo garrafa, significa que ao alterar a quantidade da garrafa a mesma quantidade é refletida no SDR. Ao anular o artigo garrafa ou SDR o artigo lincado é também eliminado automaticamente.
3- campo extra com a identificação se o artigo usa ou nao SDR, util para os relatórios, layouts etiquetas etc.
(esta setting não é de todo obrigatória, podendo continuar a usar como a Sage aconselha)
Dessa Forma ao aceder á ficha de um artigo, deixamos de usar desta forma

E passamos a usar desta (irá aparecer um novo separador na ficha do artigo)

Activo: Indica se está ativo ou nao para o artigo em questão
Artigo extra personalizado: Indica o artigo a associar “Apenas lista artigos do tipo taxa”
Aplicar em vendas: Indica se esta funcionalidade funciona nos documentos de venda
Aplicar em compras: Indica se esta funcionalidade funciona nos documentos de compras
Campo Exta “Usar SDR”: campo extra a marcar, desta forma quando ativamos a configuracao extra, automaticamente um campo extra fica tambem marcado, para que facilite na edição dos layouts de etiquetas, bastando validar por esse mesmo campo extra.
No final de garantirmos que as settings estão corretas, temos o botão “testar ligação”, onde verificamos se tudo foi preenchido corretamente.

Posteriormente á configuração do Perfil, devemos ir á configuração de postos, e definir em cada um dos postos os perfis ativos e qual o padrão

Manual de utilização
Tendo todas as configurações feitas anteriormente, podemos agora recolher as leituras emitidas pela maquina.
Para tal existem dois tipos de operação que podemos fazer.
Abater talão na venda – Onde o cliente trás o talão emitido pela máquina e quer usar o saldo para abater na venda em curso
Devolução em Numerário – Onde o cliente trás o talão emitido pela máquina e quer receber o valor sem efetuar qualquer compra no estabelecimento.
Para auxiliar todo este processo foram criadas duas funcões POS, que podem ser usadas tanto em POS como em backoffice.
Caso seja para usar o valor como modalidade de pagamento usamos a função SR.VOUCHER
Caso seja para devolver o valor ao cliente, dando uma saida de caixa, usamos a função SR.VOUCHER.RETURN

Ao usarmos o botão com a funcção SR.VOUCHER irá ser mostrada a seguinte janela

No campo “Codigo Voucher” é onde lemos o código de barras emitido pela maquina RVM, ao ler vamos validar o mesmo.
Podemos ler todos os códigos de barras (talões) que o cliente tenha.
Ao ler e passar a validação com sucesso, o valor do “total abatido” é atualizado.
ao carregar em confirmar o valor será transportado para modalidade de pagamento.
A função SR.VOUCHER.RETURN é igual á vista anteriormente, a diferença é que não lança o valor em modalidade de pagamento, mas sim numa saida de caixa.