private void validarCategoriaConTipoDeComprobante() throws InvalidInvoiceException, InvalidIDException{
		if(tipoDocumentoDeCliente==null) throw new InvalidInvoiceClientIDTypeException("Missing ID Type");
		if(categoria==null) throw new InvalidInvoiceException("Invalid Invoice Category");
		if(categoria.equals(TipoCategoria.A)){
			if(tipoDocumentoDeCliente.equals(TipoDocumento.OTRO)){ //si es A y no viene con tipoDeDocumento valido para a 
				throw new InvalidInvoiceClientIDTypeException("Invoice type A must have a valid ID Type");
			}else{
				if(documentoDeCliente==null) throw new InvalidIDException("Missing ID number");
			}
		}else{
			if(tipoDocumentoDeCliente.equals(TipoDocumento.OTRO)){
				if(!(documentoDeCliente instanceof GenericID))
					throw new InvalidIDException("Invoice ID not generic type");
			}else{
				if(documentoDeCliente instanceof GenericID)
					throw new InvalidIDException("Invoice ID generic type given but " + tipoDocumentoDeCliente.getClass().getSimpleName() + " specified");
			}
		}
	}