Git Product home page Git Product logo

quba-viewer's Introduction

Quba-Viewer

Quba-Viewer (homepage) is a cross platform open source application to display structured (i.e., XML) and hybrid (Factur-X/ZUGFeRD PDF) electronic invoices.

Documentation-wise there is a doc RE Architecture, Development, Debugging and testing in general and some Electron and E-Invoice peculiarities like interprocess (IPC) communication, XSLT and codelists in particular.

History

1.4.0 15.01.2023 - Online validation works again - Corrected validation now possible with personalized account - Be able to visualize Order-X, i.e. CIO #30 - be able to display IDs in whatever language - Factur-X / ZUGFeRD is now visualized by default and requires no click - first attempts intel mac - be able to load same filename multiple times #35 - menu item context for print (/xml and /pdf) and validate - get rid off temp files - changed translation from 3 files to one, translations provided by the app
1.3.0 14.04.2023 - support ubl credit notes
1.2.1 13.10.2022 - upgrade to Electron 20 enabling e.g. newer Mac versions to run it
1.2.0 26.09.2022 - Allow to validate files via Mustangserver
1.1.5 15.08.2022 - XML invoice with large PDF (approx. > 1.4 MB) attached can't be opened #16
1.1.4 23.06.2022 - No close button for attachments #15
1.1.3 28.04.2022 - Accept invoices as command line arguments #12
1.1.2 11.11.2021 - Allow drag&drop of files #9
1.1.1 24.09.2021 - The window for the example files can now be closed - plain pdf without embedded xml not to show button for visualization
1.1.0 20.09.2021 - #6 New document shows still old data / invoice - Switch to vue.js - i18n: Support for EN and FR - support FX Referenzprofil XRechnung
1.0 23.08.2021 - #5 Codelists are now resolved - Support for first FX Extended Element, i.e., Cash Discount in XML
0.5 27.07.2021 - Support for PDF - Support for Factur-X/ZUGFeRD - Display errors as dialog instead of hiding them
0.2 10.06.2021 - Support for XRechnung (UBL) - "dark" theming - possibility to open multiple files at the same time in the same viewer (tabs) - print
0.1 2021-03-31 - Initial release - Support for XRechnung (UN/CEFACT CII) - release for Windows on 2021-03-31, for Linux on 2101-04-16 and for Mac on 2021-04-27

Pedigree

History of Quba

The FeRD had published visualization XSLTs for ZF1 (~=UN/CEFACT C13B) as open source, unfortunately the ones for the UN/CEFACT C16B-based version 2 remains proprietary. The Kosit released XSLT for both CII and UBL of the XRechnung (XR) which has been used for various online viewers but also for offline viewers like Ultramarinviewer and Open XRechnung Toolbox. Quba uses this work added translations and at least experimental support for Factur-X/ZUGFeRD profiles higher than EN16931.

Known issues

  • While XRechnung, EN16931 and below should work, not all FX attributes/elements of the Extended Profile have yet been mapped, feel free to report missing ones
  • conversion of XSLT to sef.json xslt3 -xsl:ubl-creditnote-xr.xsl -export:ubl-creditnote-xr.sef.json -t on windows works only in cmd.exe, not powershell

quba-viewer's People

Contributors

5now avatar asimkhanaup avatar jstaerk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

quba-viewer's Issues

be able to save xml

in factur-x invoices and order-x it may be neccessary to save the embedded xml file

make clear which document type has been opened

Typecodes

default: invoice(=id380)

381 Gutschrift/Credit note
384 Stornorechnung/Corrected invoice
389 kaufmännische Gutschrift/Credit note
220 Bestellung/Order
231 Auftragsbestätigung/Order response

New document shows still old data / invoice

I am using the Mac version 1.0.0.
If I am opening an new xRechnung document in quba viewer, the app still shows the old data / invoice.
The only way to prevent this from happing is closing the app and restarting it for every new document.

Support PDF

Is there any linux-release?

I've been trying to follow manual electron-build instructions (npm install & npm run start) trying to get it working.

This is the stack-trace appearing after trying to open a PDF-File from file-dialog. No matter if using npm or yarn for package-management and also it doesn't make any difference trying to prepend "--unhandled-rejections=strict" after yarn or npm command.

Require stack:
- /opt/quba-viewer/main.js
- /opt/quba-viewer/node_modules/electron/dist/resources/default_app.asar/main.js
- 
    at Module._resolveFilename (internal/modules/cjs/loader.js:972:15)
    at Function.n._resolveFilename (electron/js2c/browser_init.js:249:921)
    at Module._load (internal/modules/cjs/loader.js:848:27)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12633)
    at Module.require (internal/modules/cjs/loader.js:1032:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at /opt/quba-viewer/main.js:233:38
(node:8951) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:8951) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Command line arguments

Could you add the possibility to open a file from command line (or File > Open...) ?
Quba myfile.xml
Thanks. Regards. Michael

No close button for attachments

If a XRechnung has embedded files, like this one quba will show a open-link and the attachment but then the close icon is missing in the popup->there is no possibility to close the attachment view

image

App is broken on OSX

The app shows a dialog with

“Quba.app” is damaged and can’t be opened. You should move it to the Bin.
Software:

    System Software Overview:

      System Version: macOS 13.3.1 (22E261)
      Kernel Version: Darwin 22.4.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      Computer Name: Tobias-MBP-14
      User Name: Tobias Anhalt (tobiasanhalt)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Disabled
      Time since boot: 4 minutes, 37 seconds

Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: Mac14,9
      Model Number: MPHH3ZE/A
      Chip: Apple M2 Pro
      Total Number of Cores: 10 (6 performance and 4 efficiency)
      Memory: 16 GB
      System Firmware Version: 8422.100.650
      OS Loader Version: 8422.100.650
      Serial Number (system): FWYPNYKVDP
      Hardware UUID: 580133E3-C9DB-52C0-B311-876C804521EE
      Provisioning UDID: 00006020-001C51A01E6B401E
      Activation Lock Status: Disabled

be able to save credentials

currently only the selected language is saved in config. We could use safeStorage for that (menuconfig l.221) and then also store the last username, password, client id and client secret (encrypted) so the user does not have to enter every time. When the app is started and there's a login config the user could even automatically be logged in.

Cannot open on M1/ M2

Hi there,

we tried to open the dmg file we downloaded from the homepage on 3 different macOs ventura notebooks. In german it says the file is "damaged".

Are we the only ones?

Support drag&drop

When a invoice file is dropped on the quba window, it should load it

Support Mac

Some people, like Eileen and Jonas (Linkedin) have requested a mac version

be able to search

it would be nice if the user could search in the invoice or at least on the page e.g. using CTRL+F

merge translations

unknown why there is a src/transaltion/de.json and a app/locales/de/translation.json

Use Quba as standardapplication for XML

I have set up Quba as a stadard application for XML to make it easier to work with X-invoices. If you open the first file with Quba everything works fine. If you then open the second file and Quba is still open with the first, then the second file does not open. It seems that Windows tries to open Quba a second time, but closes it immediately. This is also the case when Quba is open without an open file. Once Quba is already started, no other file can be opened directly.
Is it possible to define Quba so that it can be started multiple times, or within Quba also a second tab is opened when a file is opened directly from Windows.

does not run on Linux

quba_viewer-1.2.0.AppImage doesn't run on Ubuntu 22.04LTS, quits with the first line (xxx not found)

also can't install from github-repo, too many dependencies can't be resolved

I give up.

display order-x

transform to intermediate format works but in the second step zahlungsdaten should be completely removed and it should not say käufer verkäufer rechnungsdaten gesamtbeträge der rechnung, Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung but
Empfänger Absender Bestelldaten, Gesamtbeträge der Bestellung, Aufschlüsselung.... der Bestellung

Items as table

Hi,
Would it be possible to have items displayed as a simple list/table ?
Thanks,
Regards,
Michael

Does not work on intel macs

We build the Mac version on a M1, i.e. on a ARM platform. Apparently this does not give us universal binaries so the >70% of intel users cant start Quba? (What error message do they get?)

Is somebody affected and can someone assist, e.g. by helping us build on a intel mac or pointing to a good build service (which works, https://github.com/electron-userland/electron-build-service seems to be down) ?

PS: I attributed previous issues on the mac (#14, #19) mainly to the old version of electron we used, which should be fixed now. If I was wrong and it was in fact this issues pls let me know.

better accessibility for vision impaired users

There are several standards (e.g. WAI WCAG) and several tools to check compliance (e.g. the lighthouse plugin for Chrome or https://wave.webaim.org/. To simulate one might turn to text mode browsers like w3m (available for windows e.g. in the https://www.cygwin.com/ context), open-source (https://nvda.bhvd.de/) or other free (e.g. Windows Narrator, in german windows just search for "Sprachausgabe") screenreaders.

The blind person I asked was a "digital native" but nevertheless never got along very well with NVDA, mentioned that recognized vision impaired people in Germany would most likely get subsidiaries to a commercial screenreader (like the 1000$ software called JAWS, which he recommended) and otherwise recommended Windows Narrator.

We're using a open-source project (https://github.com/itplr-kosit/xrechnung-visualization) to generate the HTML for the display of our electronic invoices. The generated HTML is "100%" WCAG and electron forwards the accessibility for screenreaders already available in Chrome but it turns out there nevertheless is still an issue:

All "sections" are described but for screenreaders, the whole document looks like only one section. Which means that NVDA reads everything which takes very long, and Narrator basically reads nothing, unless prompted very hard.

Visually one immediately recognizes multiple sections, Recipient information ("Informationen zum Käufer") seller information ("Informationen zum Verkäufer") and data ("Rechnungsdaten") in the screenshot
image

The patch seems to be trivial, most likely it would suffice to add a tabindex="0" attribute to all visual sections, which also makes it much easier to navigate using keyboard (i.e. cursor keys and tab). We just need somebody to implement that on the Kosit XSLTs, and PR us and them. We would very much like to help but we won't do it on our own initiative.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.