Page 1 of 1

Cannot find patent Check-digit

Posted: Thu Jul 04, 2019 1:02 pm
by BoxClever

I would like to know where our automated system can lookup the EPO checkdigit number.
(for example: The ‘.8’ at the end of EP13748138.8)

We have an automated system that will be instructing the EPO via the EPO PMS Gateway.

But I cannot find a service that provides the patent number checkdigit for a given patent number.

I do not understand why:
• The EPO generate a number (we cannot get it from anywhere else)
• The EPO require that number when instructing via PMS Gateway
• The EPO does not make that number available via OPS

Is there some other EPO service, which our automated system could access to get the checkdigit ?

I suspect there is something I do not understand.

[This further to: application-number-in-register-page-8238 ]

Kind regards

Re: Cannot find patent Check-digit

Posted: Fri Jul 05, 2019 7:31 am
by EPO / OPS Support

If you want to have a list with applications that have check digits you can use either EBD weekly files that we offer under Bulk Data: ... ml#tab-1or you can use a web service from European Publication Server: ... html#tab-1

But OPS does not offer application no with check digits, no.

OPS support

Re: Cannot find patent Check-digit

Posted: Mon Sep 30, 2019 12:15 pm
by ksb
why do you not calculate the checkdigit yourself from the 8 digit application number?
A simple VB.NET function looks like this:

Code: Select all

Public Function CheckDigit(ByVal strAn As String) As String
        Dim ret As Integer = 0
        If strAn.Length <> 8 Then
            Throw New Exception("Wrong input: " & strAn)
        End If
        Dim an(8) As Integer
        For i = 1 To 8
            an(i) = Val(Mid(strAn, i, 1))
            If i Mod 2 = 0 Then an(i) = an(i) * 2
        Dim crosssum As Integer = 0
        For i = 1 To 8
            If an(i) >= 10 Then
                an(i) = an(i) - 10
                crosssum += 1
                crosssum += an(i)
                crosssum += an(i)
            End If
        ret = 10 - crosssum Mod 10
        If ret = 10 Then ret = 0
        Return Format(ret, "0")
    End Function

Re: Cannot find patent Check-digit

Posted: Mon Sep 30, 2019 12:33 pm
by BoxClever
Hi ksb

That's really helpful ! Thank you

We had assumed there was an algorithm, & had tried variants on the usual.
But turned out we were missing a step.

Thank you