---
title: "kolla personnumer/organisationsnummer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/58719-kolla-personnumer-organisationsnummer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Qonos"
published: "2002-11-11T11:25:49.000Z"
updated: "2002-11-12T17:58:01.000Z"
replies: 6
views: 582
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/58719-kolla-personnumer-organisationsnummer"
---

# kolla personnumer/organisationsnummer

## #1 — Qonos, 2002-11-11T11:25Z

kolla i scriptarkivet och hitta "Metod för att kontrollera personnummer", är det samma "regler" som gäller för personnummer som det är för organisationsnummer?

jag gissar på att det inte är detta, så är det någon som har en kodsnutt för hur man kollar att det är ett giltligt personnummer \|\| organisations nummer?

Sen finns det ju "moms nr/vat" kan man kolla detta på något sätt??

Permalänk: https://www.webforum.nu/p/58719

## #2 — Qonos, 2002-11-12T12:09Z

moms nr/vat har jag hittat uppbyggnaden till...
<http://www.pruefziffernberechnung.de/U/USt-IdNr.shtml>
men det är på tyska och jag kan typ inte ett ord tyska

Permalänk: https://www.webforum.nu/p/852833

## #3 — Qonos, 2002-11-12T12:32Z

oki  jag ger mig :P

personnumer & organisationsnummer fungerar med den funktionen, men det är det här med moms nr/vat grejen kvar, någon som har en lösning på detta

Permalänk: https://www.webforum.nu/p/852867

## #4 — Qonos, 2002-11-12T14:57Z

Nu har jag kommit lite närmre

fick detta svaret av någon som är webansvarig eller nått liknande på rsv.se

"Här är algoritmen i C. Lite krångligt, men tyvärr har jag inte den skriven 
i klartext. Det är alltså samma modulo 10 koll som görs på personnummer. 
Det finns mer utförliga kontroller, men tyvärr fick jag inte tag på de 
personer som antingen handlägger eller programmerar moms-rutiner. Om du 
inte tycker att nedanstående är tillräckligt får du maila tillbaka."

\#define CHARINT(c)  (int) ((c) - '0')
\#define LENVATSE        12
typedef enum { FALSE, TRUE } Bool;

static Bool CheckSe (char \*pStringVatNo) 
{
register int i;
register int accu = 0;
register int res;

     for (i = 0; i \<= 8; i+=2)
     {
          res = 2 \* CHARINT ( \*(pStringVatNo + i) );
          if (res \> 9)
               res -= 9;
          accu += res;
     }

     for (i = 1; i \<= 7; i+=2)
     {
          accu += CHARINT ( \*(pStringVatNo + i) );
     }

     res = 10 - accu % 10;
     if (res == 10)
        res = 0;

     return (CHARINT (\*(pStringVatNo + LENVATSE - 3)) == res) ? TRUE : 
FALSE;

}

så det borde ju vara liknande/samma kod som den som kollar personnummret men jag måste göra nått fel för jag får det inte att fungera. hmmm

Permalänk: https://www.webforum.nu/p/853099

## #5 — Qonos, 2002-11-12T16:56Z

```php

define('LENVATSE', 12);
function CheckSe ($pStringVatNo) 
{
	$accu = 0;
	for ($i = 0; $i <= 8; $i+=2) 
	{                
		$res = 2 * (int)$pStringVatNo[$i];                
		if ($res > 9)                        
			$res -= 9;                
	
		$accu += $res;        
	}        
	
	for ($i = 1; $i <= 7; $i+=2) 
	{                
		$accu += (int)$pStringVatNo[$i];        
	}       
	
	$res = 10 - $accu % 10;        
	if ($res == 10)                
		$res = 0;        
	
	return $pStringVatNo[LENVATSE-3]==$res;
}
```

den ger en etta om VAT nummret är OK och ger inte nått om det är fel...

Permalänk: https://www.webforum.nu/p/853210

## #6 — Qonos, 2002-11-12T17:01Z

den används så här

```php
$vatnr = "700108553401";

 if ( CheckSe ($vatnr) == 1)
	echo "OK";
else
	echo "EJ OK";
```

Fungerar dock bara på svenska VAT-nummer

Permalänk: https://www.webforum.nu/p/853212

## #7 — Qonos, 2002-11-12T17:58Z

Inser nu att den inte riktigt fungerar som den skall :(

Permalänk: https://www.webforum.nu/p/853280

---

Tråden på webben: https://www.webforum.nu/amne/php/58719-kolla-personnumer-organisationsnummer
