Feature request: Ensuring printed data are the same as submitted data (Print ID)

  • Profile Image
    Asked on January 21, 2014 at 08:42 AM

    In many countries it is a legal requirement for the forms in order to be legally binding, to be printed out and signed, and sometimes even stamped.
    Electronic forms have many advantages over paper ones (data validation, dynamic outlook – unnecessary parts hidden etc.)

    However if they are not legally binding, businesses are forced to use paper ones i.e. forms can be filled electronically, but once they are filled, they must be printed, signed, stamped and submitted by hand/post.
    When form is received, the data have to be manually entered into the database/application, which is not only slow and costly, but also error prone.

    Because the user fills the form with data prior to printing it, it is desirable that such data can be used without need to manually re-enter it on the receiving end.

    But for the receiver to be able to use such data, he needs to be 100% sure that the data submitted electronically and the ones submitted in paper form are identical.



    There should be the additional option in Unique ID widget where you should be able to select if Unique ID will behave as Submission ID (as it is now) or as Print ID (see image below).

    If it is acting as Print ID, ID would be visible.

    Contrary to how it’s behaving now, Print ID should be generated as soon as form is displayed and it will be displayed on the form so it can be printed out.

    After the form is printed it will not change, so user can print several copies with the same Print ID.
    User should then submit form electronically and Print ID value should not change so receiver can find the data in database when he receives paper form, by tracking Print ID.

    Print ID should increment as soon as any data after printing changes and will stay the same until next printing and data change afterwards. 

  • Profile Image
    Answered on January 21, 2014 at 09:16 AM

    Hi nkasic,

    Just to get clarification on your request, you are referring to the use of form's Submit / PRINT button?

    Simply put, when printing the form using the Print button, it should also make the unique ID fieldbecome visible and printed. 

    I would like to inform you that currently, the Unique ID field will only change/update after Submission is triggered(submit button). 

    Also there is a Print button in the My Forms Submissions Page that will allow printing of the form submission -- the printing includes the Unique ID value too


    As is now, the Printing tool in the form's Submissions Page is already the same to the submitted data.

    Forgive my inquisitions, but we do need clear understanding of the request before we can submit them for approval.


  • Profile Image
    Answered on January 21, 2014 at 10:49 AM

    Hi Jonathan,

    Sorry for not specifying, this feature request is the result of this question: http://www.jotform.com/answers/313548-How-to-ensure-that-submitted-data-and-data-printed-on-form-are-identical#15

    where we reached dead end, and couldn't achieve my goal with the current features.

    I planned to use form's print button as you suggested, as this is the only way (at the moment) to control the output on the printed form. Formatting output through Thank You page is not possible without programmer's involvement.


  • Profile Image
    Answered on January 21, 2014 at 11:11 AM

    Hello, before we submit a feature request in reagards to your concern, we do need to make sure we clearly got what you want to achieve.

    You want the Form to have a Print ID

    You want the Print ID to increment everytime the user or anybody prints a form, although you would like it not to increment if they print multiple copies.

    I'm not quite too sure this may be possible. Kindly reply to the previous question or please elaborate if this is not correct. Thank you.

  • Profile Image
    Answered on January 22, 2014 at 07:13 AM

    Hi Cesar,
    This is the workflow I had in mind:

    1. User fills the form. 
    2. User corrects the form if necessary
    3. When finished, user clicks on Print button and prints as many copies as needed (Print ID printed as well, Print ID doesn't change)
    4. User clicks on Submit button. Data are submitted electronically (Print ID as well).
    5. User signs, stamps and post the form hard copy.
    6. When signed and stamped form is received by post my company searches through the records received electronically and tracks the one with the same Print ID as on the paper.
    7. When the record is found all the data from csv or Excel file for that record are transferred into our production database and processed further.
    8. Records in database for which corresponding paper forms are not received within one month from submission date are periodically deleted.  

    The critical steps are between 3 and 4 where it must be ensured that users don't change data after printing and before submission.
    Also, as quite often it's needed for the hard copies to be signed in 2 or 4 copies, the Print ID on all of them should be the sama if the data on them are the same.

    All of that could be achieved and the easiest way seemed to me the way I described before. 


  • Profile Image
    Answered on January 22, 2014 at 09:23 AM


    Thank you for contacting us.

    You can implement the entire workflow with the features that are currently available.

    Each form submission can be assigned a print ID that will be displayed once the form user is ready to print. 

    I would like to generate a demonstration, but please clarify one thing: Would you like the Print ID to be visible to the Form user (such that it is printed out on the filled form)?

    Please update this thread with an answer, and I will proceed with the demo form.

    About the print Button:

    The Print Button is a browser function:         

    window.print() Function

    It is a browser-side script, so invoking a form action using this would cause the print ID (if this is the action) to increment each time it was clicked on the same browser session.... I'm guessing this is not what you are looking for.

    Awaiting your response.                         

  • Profile Image
    Answered on January 22, 2014 at 10:07 AM

    Hello TitusN,

    Print ID doesn't need to be visible to the user on-screen, but it must be printed on the paper so when it is received by post the data corresponding to that form can be found in the csv or Excel file by using that Print ID.

    As most often each form has to be submitted on paper in two copies and one will be signed by my company and returned to the user, the both copies must have the same Print ID.
    If they are printed twice, and submitted on-line once, which Print ID will be in the csv file?


  • Profile Image
    Answered on January 22, 2014 at 10:14 AM

    Thank you for your response.

    The Print ID based on the print function on the form was a concept I was considering in case we need to raise an additional feature request - so I cannot respond definitively to which Print ID will show up on the CSV file should the concept be implemented. 

    But as it stands, we can implement your full workflow with exsiting features.

    I will work on the demostration and get back by responding on this thread as soon as possible.

    Thank you for your patience.

  • Profile Image
    Answered on January 24, 2014 at 04:28 PM

    Thank you for your patience.

    I've created a prototype form for you to consider: http://jotformpro.com/form/40213996975971

    Please give it a test-run and feel free to clone it for a closer look.

    We await your response.

  • Profile Image
    Answered on February 03, 2014 at 04:19 AM

    Hi TitusN,

    Firstly, It doesn't work. I am able to print Thank You page, go back, change data and print it again with the same Print ID and different data.

    Secondly, I don't want to print Thank You page, but the form itself.
    The reasons I already explained above and in in this question: http://www.jotform.com/answers/313548-How-to-ensure-that-submitted-data-and-data-printed-on-form-are-identical#15 I refered to above as well.


  • Profile Image
    Answered on February 03, 2014 at 08:12 AM


    Thank you for the feedback.     

    The purpose of the thank you page was to show the printID on the printed form (since its a hidden field), as well as make sure the printed data is the same as the submitted data referenced thread... but that's moot now.  

    Yes, I do see the limitation - the submitted data can be changed and the print ID will not change.

    I think our greatest hurdle here is to have a field for the Print ID that auto-increments based on:

    1. Opening the electronic form

    2. Any changes on the form responses (before submission)

    Once this field has been created, you will be able to show it when the form is printed.

    Your workflow implies that the form has to be printed first before the submit button is clicked, right?

    I have submitted a feature request to this end.

    Please respond if you have any updates I can add to the request.






  • Profile Image
    Answered on February 04, 2014 at 04:54 AM

    Hello TitusN,

    1. correct

    2. If possible, PrintID shouldn't change on any change, but should stay the same until the point of printing, so user can freely change data on the form as they are still unofficial. Once he prints the form, the PrintID should be fixed and look for changes. At that point he can submit data as many times as he wants and they will be the same as on printed form.
    However, as soon as he changes anything, PrintID should change, indicating that the data has changed. But there's no need to increment on every single further change. It could stay the same until next printing.
    That's important to notice, because if you increment PrintID on every single change, it would slow down processing the form and PrintID would become huge soon (require large number of digits).


  • Profile Image
    Answered on February 04, 2014 at 05:35 AM

    Thanks for the update.

    The feature request has been updated accordingly to our developers.

    In the meantime, I'll get back to the drawing board and brainstorm for ideas for a workaround.

    Thank you for your patience.

  • Profile Image
    Answered on March 23, 2014 at 06:21 AM


    Sorry this took so long -

    Our new form calculation widget allows you to add a field which generates an automated random number.

    Give it a shot for managing the PrintID field.

    As far as changing it when anything on the form is modified before printing, then we would have to use the form's source code to implement some customized Javascript to modify the PrintID value.

    Please let us know if this helps - and how we can asssist further.

  • Profile Image
    Answered on March 23, 2014 at 01:57 PM

    Hello TitusN,
    I don't see how it can be of use for my purpose.
    How to set it up so it doesn't change between prints, but it changes on data change after print?



  • Profile Image
    Answered on March 23, 2014 at 03:51 PM


    The calculation widget, as suggested by Titus, is a viable solution for your problem. The random number is generated only when the form is loaded and will not change no matter how many times the form is printed.

    Here's an example:


    Below is the formula I used:


    However, as mentioned by my colleague, this is randomly generated and is therefore not incremented for each submission.

  • Profile Image
    Answered on March 23, 2014 at 04:00 PM

    Hi NeilVincente,
    It's fine if it doesn't change with each print as long as data doesn't change either.
    However if the data in form changes, Print ID should change as well.
    In your example form there are no other fields so I cannot change functionality. Can you please add one or two extra fields for filling data (e.g. Name and Surname) so I can test the behaviour.

  • Profile Image
    Answered on March 23, 2014 at 04:18 PM

    When you say "if the data in form changes", do you mean to say data change via editing the submission?

    Note: I have added a full name field to my sample form.

  • Profile Image
    Answered on March 23, 2014 at 04:21 PM

    Sorry, I finally understood what you mean. Sadly, no, this workaround cannot achieve your desired output.

  • Profile Image
    Answered on March 23, 2014 at 04:46 PM

    Hi Neil Vincente,
    I tried the form and filled Full Name: Joe Bloggs and printed it. Print ID was  USR0004209.
    Then I changed the Full Name into: Jane Bloggs and printed it again. Print ID was the same: USR0004209
    Then I submitted the form and got Thank you page.

    Now, I have two printed forms in circulation, with the same Print ID, but different data in it.
    If I look into database there will be two different records with the same Print ID, and I cannot easily figure out which one's data belong to the printed form.
    That's what I wanted to avoid.

    I need to be able, when someone brings the printed form, to find the corresponding record in the database through Print ID, and be sure that the data on the printed form is the same as the one in the database.

  • Profile Image
    Answered on March 23, 2014 at 04:52 PM

    Please read my last response. Thanks.

    By the way, a ticket for your request has been opened, but we cannot guarantee an ETA as to when it will be implemented, if at all.


  • Profile Image
    Answered on March 24, 2014 at 04:14 AM

    Hello, I am not JotForm, just a user like yourself. I read this interesting thread, and have a suggestion that might help.

    There is a widget called DateTime Single. This gets set to the date/time when the user first opens the form, and gets updated if the form is reopened via the edit link.

    So you could use a sequence like this.

    1. User opens form, and this field sets to current date/time

    2. User completes form and submits it.

    3. User receives email confirmation of submission (which includes that date/time field)

    4. User prints the email, signs it and mails it to you

    5. Subsequently user uses edit_link to go back in and edit the form, this updates the date/time single field

    6. User repeats step 2 to 4 above for the new submission.

    This would give different date/time field on each submission of the form (except the time in this widget is only to the nearest minute, so if the user reopens via edit-link twice in the same minute, the field would be the same in both submissions).

    Also you  would need to set the notification email to go to the user as well as to you, because (for some reason) confirmation emails are not sent on resubmissions.

    I hope this idea is some use to you.