Jump to content

nunopicado

Staff
  • Posts

    6,456
  • Joined

Everything posted by nunopicado

  1. 🤔🤔 Isso quer dizer que se me enviarem um ficheiro xls posso ter o excel sem pagar? Essa história do "uso administrativo obrigatório" só faz sentido se estiver especificado na licença. A bem da verdade, não sei se está ou não, mas não me importava de ver isso esclarecido.
  2. Arredondamentos. Quando fui certificar o programa, o inspetor disse-me para aumentar o numero de casas decimais nos cálculos intermédios, para que não tivesse esse problema. Ele disse na altura que os cálculos do programa devem ser feitos com entre 4 a 6 casas decimais. Meti 10. Nunca mais me deu problema de arredondamento.
  3. Podes enviar o despacho que adia a entrega do saft. Lá fala em constrangimentos do funcionamento do portal das finanças. https://info.portaldasfinancas.gov.pt/pt/informacao_fiscal/legislacao/Despachos_SEAF/Documents/Despacho_SEAF_131_2025_XXV.pdf
  4. Eu é Windows 11 e também não dá.
  5. Tentei ainda agora, tudo na mesma. Eles devem adiar o prazo, digo eu... Tanto o portal como pela app de linha de comandos está tudo congelado.
  6. Até ouvi falar de um caso de um software, não me lembro agora qual, que envia documento a documento à medida que é gerado, mas em vez de ser via webservice, envia via saft.
  7. No SAFT vão representados os documentos tal qual eles são. Tu até podes meter o preço unit. + a multa no mesmo documento, mas será sempre de forma a que essa fatura vá no SAFT. Exemplo: Artigo 1 tem preço unit. 100€. A multa será de 20€. Ou faturas: * Artigo 1: 100€ * Multa: 20€ * Total: 120€ Ou faturas: * Artigo 1 + Multa: 120€ Ou seja, ou a instituição tem um artigo específico para faturar a multa, ou inclui o valor da multa no preço unit. do produto. O que não pode fazer é ter o preço unit. do produto e depois colocar o valor da multa direto no total do documento. Tem sempre de haver uma linha a indicar de onde vem esse valor.
  8. Como disse o @iznougudpt, a multa teria de ser faturada (ou pelo menos debitada com uma Nota de Débito) para poder ir no SAFT. Se a instituição criar uma FT ou ND da multa, é só mais um documento no SAFT, não vejo qualquer problema aí. Mas é preciso que eles façam esse documento.
  9. Ui, não tenho ideia. Há faturas/nota de débito sobre multas? Se houver, é fácil, mas se não, não creio que possa ir no saft.
  10. Tanto quanto sei, no SAFT não tens de referenciar as encomendas nos SalesInvoices. Ou seja, nesse cenário, só irias referenciar as GR que deram efetivamente origem à fatura. A encomenda ficou lá atrás, já não tem interesse nessa fase do processo. (e sim, a nível de linha - cada linha indica a referencia de onde saiu, porque podes teoricamente ter uma fatura para várias GR)
  11. Não havia, que até já me tinha esquecido que isto existia. Mas passou a haver. Podes encontrar aqui: https://github.com/nunopicado/DRENotify
  12. Os dois. Uma coisa é o teu certificado que, independentemente da data de validade que lá esteja, vai deixar de funcionar a partir de 28 de Junho (salvo erro), isto porque a AT vai passar a exigir o certificado com 4096 bits, em vez de 2048. Tens de gerar novo CSR e enviar para lá a pedir novo certificado, de resto como provavelmente já fazes de tempos a tempos, com a diferença que o novo CSR deve indicar 4096 bits. A nível de código não deverás ter de fazer nada. Outra coisa é a ChaveCifraPublicaAT, que usas para encriptar o cabeçalho das comunicações (NONCE), e também está para expirar. Tens de sacar esse ficheiro e dependendo do teu sistema, converter para PEM. Esta chave é bem maior que as anteriores, pelo que não te admires, mas, tanto quanto sei, não tens de alterar nada no código (a não ser que por algum motivo estejas a truncar o valor gerado do NONCE para o tamanho anterior, nesse caso agora terias de 'destruncar' para caber o NONCE completo que a chave maior gera. Apenas como exemplo, eu já estou a comunicar com o meu novo certificado a 4096 bits, mas ainda não testei com a nova chave cifra publica - são dois conceitos independentes.
  13. aqui igual. Entretanto o certificado novo já o tenho a trabalhar, sem nenhuma alteração ao programa. Só falta alterar a chave publica e não me chateio mais com isto durante um tempo.
  14. Um cliente meu queixou-se do mesmo, insisti e lá passou. Tá tudo a tentar validar as faturas e sentaram o servidor. 😉
  15. Acho que depende. Se for MBWay via terminal MB (QRCode ou NFC), creio que o ideal é meter MB. Se for via telefone, sem passar pelo terminal MB, acho que talvez seja melhor OU
  16. Isso faz sentido, como eu disse, implementei isso na altura, e fiz alguns testes, mas creio que nunca usei em produção de lá para cá. Acho que vou tirar isso do programa na próxima atualização que fizer, sempre me livro de um bocado de código. 😁
  17. É suposto deixar pela aplicação. Salvo erro (li isso algures, não sei se será assim) a aplicação foi feita mesmo a pensar nas empresas com produção massiva de guias de transporte diárias (tipo distribuidores de jornais e assim). Mas já não uso isso há imenso tempo (quase desde que fiz os testes iniciais), pelo que não me admirava que alguma coisa tenha alterado de lá para cá.
  18. Sim. O validador é para o ficheiro SAFT, e esse inclui todas as tabelas e campos que a portaria define como obrigatórias. Como dizia o certificador que me certificou o programa na AT, "SAFT há só um, o resto foi aí uma coisa que inventaram para atrapalhar". O envio dos documentos de transporte via 'SAFT', tal como o envio de documentos de faturação, uma um pequeno segmento da estrutura do SAFT, e não o SAFT completo, e como tal, não passa no validador tradicional, que é como quem diz, um validador que compare a estrutura do ficheiro SAFT com a exigida pelo XSD do SAFT. Quando muito podes usar a aplicação de envio por linha de comandos, que inclui um validador, para validar o ficheiro que vais enviar.
  19. Creio que vb.net já suporta interfaces, mas quanto a como usar, não tenho ideia. Isso tem de ser alguém que perceba de vb.net, eu não pesco nada dessa. 😁
  20. Bom dia Aqui tens: <?xml version="1.0"?> <AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.04_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:OECD:StandardAuditFile-Tax:PT_1.04_01 SAF-T-PT.XSD" xmlns:doc="urn:schemas-basda-org:schema-extensions:documentation"> <Header> <AuditFileVersion>1.04_01</AuditFileVersion> <CompanyID>555555550</CompanyID> <TaxRegistrationNumber>555555550</TaxRegistrationNumber> <TaxAccountingBasis>F</TaxAccountingBasis> <CompanyName>Nome Empresa</CompanyName> <BusinessName>Nome Comercial</BusinessName> <CompanyAddress> <AddressDetail>Morada Empreas</AddressDetail> <City>Cidade Empresa</City> <PostalCode>0000-000</PostalCode> <Region>Distrito Empresa</Region> <Country>PT</Country> </CompanyAddress> <FiscalYear>2025</FiscalYear> <StartDate>2025-02-05</StartDate> <EndDate>2025-02-05</EndDate> <CurrencyCode>EUR</CurrencyCode> <DateCreated>2025-02-05</DateCreated> <TaxEntity>Loja</TaxEntity> <ProductCompanyTaxID>MeuNIF</ProductCompanyTaxID> <SoftwareCertificateNumber>MeuCert</SoftwareCertificateNumber> <ProductID>MeuSoft</ProductID> <ProductVersion>2023.6</ProductVersion> <Telephone>MeuTel</Telephone> </Header> <MasterFiles> <Customer> <CustomerID>56</CustomerID> <AccountID>Desconhecido</AccountID> <CustomerTaxID>555555550</CustomerTaxID> <CompanyName>Cliente</CompanyName> <BillingAddress> <AddressDetail>Morada Cliente</AddressDetail> <City>Cidade Cliente</City> <PostalCode>0000-000</PostalCode> <Country>PT</Country> </BillingAddress> <Telephone>Tel Cliente</Telephone> <SelfBillingIndicator>0</SelfBillingIndicator> </Customer> </MasterFiles> <SourceDocuments> <MovementOfGoods> <NumberOfMovementLines>3</NumberOfMovementLines> <TotalQuantityIssued>3</TotalQuantityIssued> <StockMovement> <DocumentNumber>GDF 84/1</DocumentNumber> <ATCUD>AAAAAAAA-1</ATCUD> <DocumentStatus> <MovementStatus>N</MovementStatus> <MovementStatusDate>2025-02-05T09:20:32</MovementStatusDate> <SourceID>User</SourceID> <SourceBilling>P</SourceBilling> </DocumentStatus> <Hash>ssdfsdfdsfsdfdsfsdffsdfsdfsdfsddf=</Hash> <HashControl>1</HashControl> <Period>2</Period> <MovementDate>2025-02-05</MovementDate> <MovementType>GT</MovementType> <SystemEntryDate>2025-02-05T09:20:32</SystemEntryDate> <CustomerID>56</CustomerID> <SourceID>User</SourceID> <ShipTo> <Address> <AddressDetail>Morada Descarga</AddressDetail> <City>Cidade Descarga</City> <PostalCode>0000-000</PostalCode> <Country>PT</Country> </Address> </ShipTo> <ShipFrom> <Address> <AddressDetail>Morada Carga</AddressDetail> <City>Cidade Carga</City> <PostalCode>0000-000</PostalCode> <Country>PT</Country> </Address> </ShipFrom> <MovementEndTime>2025-02-06T23:59:00</MovementEndTime> <MovementStartTime>2025-02-06T00:00:00</MovementStartTime> <Line> <LineNumber>1</LineNumber> <ProductCode>1</ProductCode> <ProductDescription>Papelaria</ProductDescription> <Quantity>1</Quantity> <UnitOfMeasure>Un</UnitOfMeasure> <UnitPrice>0.0000000000</UnitPrice> <Description>Papelaria</Description> <DebitAmount>0.0000000000</DebitAmount> </Line> <Line> <LineNumber>2</LineNumber> <ProductCode>22</ProductCode> <ProductDescription>Sol</ProductDescription> <Quantity>1</Quantity> <UnitOfMeasure>Un</UnitOfMeasure> <UnitPrice>0.0000000000</UnitPrice> <Description>Sol</Description> <DebitAmount>0.0000000000</DebitAmount> </Line> <Line> <LineNumber>3</LineNumber> <ProductCode>17</ProductCode> <ProductDescription>VIP</ProductDescription> <Quantity>1</Quantity> <UnitOfMeasure>Un</UnitOfMeasure> <UnitPrice>0.0000000000</UnitPrice> <Description>VIP</Description> <DebitAmount>0.0000000000</DebitAmount> </Line> <DocumentTotals> <TaxPayable>0.00</TaxPayable> <NetTotal>0.00</NetTotal> <GrossTotal>0.00</GrossTotal> </DocumentTotals> </StockMovement> </MovementOfGoods> </SourceDocuments> </AuditFile>
  21. Registar não é preciso, mas a DLL usa interfaces para a chamada. Agora que falas nisso é que me lembrei que o VB6 não suporta interfaces. Do Chillkat, aguarda a ver se alguém que o use possa dar uma luz sobre ele. Sei que há muito pessoal a usar, especialmente desde o inicio de Janeiro, mas não sei quais são as configurações necessárias. Entretanto vai pesquisando este tópico a partir de 6 de Janeiro, a ver se se faz alguma luz.
  22. Podes dar uma olhada aqui: https://github.com/nunopicado/AtWS Tem código em Delphi para a comunicação, mas esse código dá origem a uma DLL (também presente) que podes depois chamar pelo VB6 para comunicar. Vê se ajuda.
  23. Posso estar enganado, mas parece-me que li aqui no tópico, no início de Janeiro, que com os novos requisitos da AT, o chillkat funciona a partir da versão 10 ou coisa parecida. Se for isso, podes ter de atualizar, mas confirma nas mensagens do tópico, como não uso chillkat, não tomei grande atenção e posso estar enganado.
  24. Eish, o que tu foste desenterrar. 😂 Bem, em 2014 eu usava a CAPICOM para estabelecer a comunicação, e esse código será relativo a ela com certeza. Já não uso isso, e com o que uso atualmente, não tenho de mexer nas opções de internet.
  25. Acho que só houve um mail no inicio de Dezembro. Pelo menos eu só recebi isso.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.