ERPNext Foundation ERPNext Cloud User Manual Blog Discuss Frappé* Donate

Simple scan and generating PDF


#1

Hi Community,

I am a private user from Germany and looking for a “simple” software to manage my private things (e.g. articles (base for my private website - this will come later), addresses, some little things as calendar and “to-do-list”.
I have tried many Open Source projects, but I think that ERPNext meets my requirements perfectly. As I said, I need a solution only for me as private. I also would like to learn to create some stuff later and share this with all others.

For organizing my documents, I would like to use a “simple” function to scan documents directly into ERPNext. I had this function in my former ERP for each record (address, invoice, article, etc.), just clicking on a icon to call my scanner, pre-scan and save it into a global directory with an automatically generated filename. This file was linked to the record, I was editing or creating and could be found by a free filename for finding it later. (had a tab “named” “Documents”, where all files to this record were listed and could be opened by simple double-click in a PDF-viewer).

It sounds difficult, but simple and effective (for me). As I am new in programming, it would be great to get help from you “freaks” :slight_smile:

Many regards from Germany and thanks a lot in advance !
Vale


#2

directly scanning into ERPNext definitely would be a useful feature.

If you are looking to get started with developing for ERPNext the frappe documentation would be a good place to get going.


#3

I previously created something very similar (for a different ERP). But leveraging barcodes.

This is an interesting topic. Right now, I can think of 3 approaches:

  • Option 1: You click an icon in the ERP. The ERP generates a file name, and “passes” that name to the scanner. The scanner uses that file name during its next scan.
  • Option 2: You click an icon in the ERP. The ERP sends a request to scanner: “give me a file name”. Scanner scans something, generates a file with a name. And passes that information back to ERP.

These first 2 options are difficult, because there’s a gazillion models of scanners and multi-function printers. Each with its own drivers, APIs (maybe), protocols, etc. How do you write something that can transmit/receive data, without tying your code to a specific device model?

  • Option 3: Each ERP user has their own “scanned documents” directory. You click an icon in the ERP. This triggers the ERP to begin a process of “watching” that directory. You scan something. As soon as the scan is written to that folder, the ERP catches the write. And it associates that newly-created file name with whatever document you had open in the ERP.

This option is much easier. The key is configuration and timing.

  • Each scanner must have a configuration, per user, that points at that user’s specific folder.
  • Nothing else should ever write to that folder, except that scanner device.
  • Only 1 scan can be happening at a time, per user. Otherwise if you had 2+ scans in-progress, and a file is detected in the directory, you don’t know which ERP document it’s associated with.

If the ERP put the request into a “queue”, the user could even navigate somewhere else in the ERP, and continue doing work, while the scan processes. They just could not initiate a 2nd scan, until the 1st one completes.


#4

What about using what you just mentioned with the barcodes but then building it into each document to indicate what type of barcode it is?

I’m actually just implementing barcode scanning, but using erpnext, as the system that stores what type of barcode, and what the scanned value is, and then uploading it to a separate ERP system, and filing it appropriately, I wonder if it could just be set up generically - probably with appropriate doctype, and its name, then away we go :wink:


#5

Sure, that modification would help. As you described, each DocType (Sales Order, Purchase Order, etc.) would print with a barcode on the paper. The barcode data would indicate 1) DocType, 2) Unique identifier (name).

I implemented something like this for a retail customer in Arizona.

  • Stores would print receipts. These receipts had a barcode at the top.
  • Customers would sign the receipt, and hand back to the counter operator.
  • Receipts would later be scanned. Software automatically matched and attached each receipt to the correct Sales Order/Invoice in the ERP.

This solution works fantastic… when you scan what you print.

Where it falls short, is scanning paper you didn’t print from your ERP. Vendor invoices. Customer contracts. Various other things. Those don’t have barcodes. So to automagically attach to the ERP, requires a different solution.

Either clicking buttons in the ERP, then scanning.
or
Printing barcode labels using your ERP. Sticking them onto your papers. And then scan.